Head Firstオブジェクト指向分析設計読んだ

Head Firstオブジェクト指向分析設計 ―頭とからだで覚えるオブジェクト指向の基本

Head Firstオブジェクト指向分析設計 ―頭とからだで覚えるオブジェクト指向の基本

オブジェクト指向なソフトウェアを設計するためのオブジェクト指向の原則やソフトウェア設計手法が書かれてる.ただつらつら書かれているのではなくて,Head Firstらしく絵図や会話をいれながら,実際にソフトウェアを設計・開発していきつつ説明を進めてくれる.こういう事例とともに学ぶべきことはHead Firstと相性が良くて,すごく頭に入りやすかった.

流れとしては,設計の依頼がくる→設計,開発していく→うまくいかなくなる→解決するノウハウが学べるという感じ.ちゃんとうまくいかないこととそれを解決する手法と,どうしてそれが良いのかをセットで学ぶことができる.だから,すぐにでも実践で適用していけるレベルで学ぶことができる.

たとえば,アプリケーションの変更容易性が大事とだけ書かれているのではなくて,まず今このアプリケーションにこの機能を追加したいのだけど,どうすればいいだろうか?ということを読者に考えさせる.この設計のままだと,あるクラスにプロパティを追加しようとするとこのメソッドを変更しなければいけないし,あのクラスのコンストラクタも変更しなければいけないことが起こる.だから変化するものをカプセル化して,他の部分から切り離す必要がある.するとこんなにも変更が容易になった.という感じで学べる.ほかにもたくさんの感覚的にわかっていたことが,事例とともになぜそれが必要でどのようにして役に立つのかを学ぶことができて,すごく学びが多かった.

多くの本は,原則→例という感じで説明してくれると思うのだけど,この本は逆で,こういうことは実際に問題にぶち当たってみないとわからないことが多い.

最後には,今まで勉強してきたことを総動員して,もう一度ソフトウェア設計をしていくことが書かれていたり,読者の気になるだろうところまで解説してくれてたり,すごく細かなところまで行き届いていて,本当に丁寧にわかりやすく書かれていた.

ちゃんとしたソフトウェアの設計手法や,オブジェクト指向の原理・原則はなんとなく知っているのだけど,実際にどういうときに,どういうふうに適用すればいいかいまいちわかっていない自分にとっては,とても勉強になった.つねに手に取れるところに置いておきたい1冊だった.

Twitterのほうもよろしくお願いします.スワロイド (tsuwatch) on Twitter