Java: The Good Parts を読んで印象に残ったことの覚え書き.
設計の2段階
Javaにおけるオブジェクトの設計は,大きく2段階ある(と思う).
- 目的を決める = インターフェースの設計
- 戦略を考える = クラスの設計
インターフェースの良し悪し
- インターフェースにある情報(メソッド)だけで,目的が伝わるか
- 目的の説明に実装クラスが必要なら,いい設計でない?
- 他のインターフェースに依存しすぎていないか
インターフェースの設計
- 目的(クラスでやりたいこと)をメソッド名に表現する
- メソッドの引数・戻り値も(できるだけ)インターフェースで
- ポリモフィズムを利用しないとしても,実装前に目的を明確にできる