読んだ:オブジェクト指向でなぜつくるのか

Railsリファクタリング力を高めたいなぁと最近思っていたのですが、 その一環としてオブジェクト指向の復習がしたくなり、何冊か関連書籍を買って読んでおります。

その一冊がこれ

オブジェクト指向でなぜつくるのか 第2版

オブジェクト指向でなぜつくるのか 第2版

前提

  • オブジェクト指向を最初に勉強しようとしたのは15年前位
    • その頃は組み込みの仕事をしていた
    • C++を使い始めた時だった
    • いわゆる「哺乳類クラスと卵を生むクラスの多重継承がカモノハシクラスである」的な説明とかを読んだ気がする
    • メモリ上にどのように展開されるかとか、そういったことは興味を持って読んだ記憶があるが、だからこう設計するとよい的な事については確信的なものは得られなかった気がする
  • UMTPの一番簡単なやつ?は試験受けて合格した記憶がある

感想

  • 実装を通じて「methodや属性をまとめるための手法だよね」的な理解をしていたが、それはそれで間違ってなかったのだなぁと再確認できた
  • 「要件定義などのフェーズと実装のフェーズとでは、オブジェクト指向の文脈が異なるので注意」というのはなるほどと思った
  • オブジェクト指向的にコードが書かれてないとテストが書きにくくて仕方がないと思っていたが、「オブジェクト指向から生まれたTDD」なる説明があり、たしかにそういう側面はあるよなぁと思った
  • 「上流工程」「下流工程」という言葉には苦手意識が...

まとめ

オブジェクト指向でなぜつくるのか」という問いに対しては、「オブジェクト指向という練られた知恵とその周辺技術を使うことで、ソフトウェアの設計・開発がより品質高く効率的にできるから」ということでいいのかな? 良い総括と復習が出来たなぁという感じでした。