雑史

思ったこととかメモとか

オブジェクト指向でなぜ作るのか 9~13章とまとめ

はじめに

kzk0829.hatenablog.com

これの続き
オブジェクト指向そのものを深掘りできる本だと思っていたが、意外と周辺知識の薄めな解説の章があったので残りはサラッとまとめる

第9章 現実世界とソフトウェアのギャップを埋めるモデリング

現実世界の概念や物事をソフトウェア設計に落とし込むモデリングについての章
最近勉強しているDDDでもその重要性は感じており、このモデリングをミスると設計全体の方向性に影響を与えうるし、修正がより難しい領域だと感じている。
そんなモデリングについて、図を使って触りを紹介している章

第10章 擬人化して役割分担させるオブジェクト指向設計

OOPにより、保守性や再利用性を向上させるために、凝縮度結合度を用いて説明している章

  • 凝縮度
    • クラスに定義する機能=部品を一箇所に集めまとまりを強くすること
  • 結合度
    • 部品=クラス間のやり取りを少なくすること

これらを意識することで、保守性や再利用性が高まることを説いている。
また、依存の方向を一方向にすることなどにも触れられていた。

第11章 オブジェクト指向から生まれたアジャイル開発とTDD

ウォーターフォール型開発やその問題点の紹介、それに対してアジャイル宣言の誕生やテストから書いていくTDDなどを言葉の紹介をしていた章
これに関しては他にもっと詳しい資料や書籍があるはずなので割愛。

第12章 オブジェクト指向を使いこなそう

本書の結びの章
新たな知識等はない
印象的だったのは「時代がオブジェクト指向に追いついた」というワードで、元上司の20年選手のエンジニアのかたも「人類にオブジェクト指向は早かった」と言っていたのを思い出した。
半世紀以上前に考案され現代になりやっと定着した定着した技術を本一冊、一朝一夕でものにしようにもできないのが身にしみた。
理解をもっと深めていこうと思った。

おまけ

第13章 関数型言語でなぜ作るのか

関数型言語とその考え方の紹介
現在仕事でScalaに入門しているが、関数型っぽい書き方に慣れないことあるなあと読んでいた。