2023-01-29
8 章のデザインパターンだけとばして読み切った。
オブジェクト指向を定義することはできない
とあるのに、副題(?)が「PHP で理解するオブジェクト指向の活用」なのはわからない。
1 から 3 章までは正直読むのが辛かったが、 9 章まで読みおわってから読み直すと辛さが軽減した。
すでに経験的に分かってできていたことは以下。
- 汎化によるインタフェースの抽出
- 明示的な境界になり、コードとしてチェックできる
- 多態につかえる
- テストの記述
- テストはコードの最初のユーザなので、コードの正しさだけでなく使いづらさの確認ができる
- それによって DI の必要性 も分かる
- テストはコードの最初のユーザなので、コードの正しさだけでなく使いづらさの確認ができる
この本を読んでできていないことに気づけたことは以下。
- 依存の向きを安定度で決める
意識的に考えたことがなかったのでこれはトレーニングしようと思う。
雑にかいつまむと、上記をおさえておけば良いように思った。 著者も
残る開発工程は、実際の機能をモデルのインタフェースに沿って作り、依存性を注入すれば、機能するアプリケーションのできあがり
と書いている。そして、
とにかく重要なのは、変化に対応して長く使えるソフトウェアを、苦しい思いをせずに作っていくこと