要約
第2章 単一の責任を持つクラスをつくる
- クラスに属するのものを決めるときの観点として「メソッドをグループに分けクラスにまとめる」「変更がかんたんなようにコードを組成する」
- クラスはできる限り最小で有用なことをするべき(=単一の責任を持つべき)
第4章 柔軟なインターフェースをつくる
パブリックインターフェースとプライベートインターフェース
パブリックインターフェースは下記のような特性がある
- クラスの主要な責任を明らかにする
- 外部から実行されることが想定される
- 気まぐれに変更されない
- 他者がそこに依存しても安全
- テストで完全に文書化されている
プライベートインターフェースは次の特性を備える
- 実装の詳細に関わる
- 他のオブジェクトから送られてくることは想定されていない
- どんな理由でも変更され得る
- 他社がそこに依存するのは危険
- テストでは言及されないこともある
ChatGPTに聞いてみた