以下のような事を学ぶ事ができる良書だと思う。
<br /> ・変化に対応できるソフトウェアを設計する方法
<br /> ・そのようなソフトウェアに存在するパターン
<br />ソフトウェア設計者には、ぜひ読んで頂きたい。
あなたは以下のような謳い文句をどこかで聞いたことがありますか?
<br />・オブジェクトとはデータと振る舞いを持った「もの」である
<br />・カプセル化とはデータを隠蔽することである
<br />・オブジェクト指向言語では継承を使用することによって再利用が促進される(差分プログラミング)
<br />・オブジェクトとは現実世界における実体であるため、名詞と動詞を抽出することで適切なクラス設計を行うことができる
<br />この本は本来あるべきオブジェクト指向設計においてはこれらが適切ではないということをデザインパターンを使って解説しています。
<br />
<br />この本を以下の方に薦めます。
<br />・デザインパターン本(GoF本を含む)を読んだがいまいち理解できなかった方(オブジェクト指向初級者)
<br />この本はデザインパターンの解説だけではなく、その元となっているオブジェクト指向原則についても説明しています。そのため他のデザインパターン本よりも有益でありかつ理解しやすいものとなっています。
<br />・オブジェクト指向はある程度理解していると考えている方(オブジェクト指向中級者)
<br />オブジェクト指向原則やデザインパターンに対する知識の整理が可能となります。「それについては知っていた」という箇所が出てきた場合には自分を褒めましょう。(この逆は、「もしかしたら自分はオブジェクト指向初級者だったのかもしれない。」です。)
<br />
<br />また、この本が他のデザインパターン本よりも理解しやすいのは以下の理由もあると思います。
<br />・著者がデザインパターン講義を行っている講師である
<br />理解するのが困難な箇所について何度も解説を行った経験があり、そのためその解説が洗練されている。
<br />・翻訳がすばらしい
<br />村上雅章さんの翻訳は本当にすばらしいです。
<br />
<br />オブジェクト指向及びデザインパターンについて書かれた本を今までに多く読んできましたが、この本が一番分かりやすく有益であると思いました。
入門的なオブジェクト指向とデザインパターンの本を1冊読んだ後に、<br>本書を読む事により、オブジェクト指向に関する昔あった、様々な誤解から貴方を解放してくれる事でしょう。特にカプセル化、継承の使い方等、実装よりの観点で書かれた書籍が多い中で、本書は一段高い観点で説明されている。<br>プログラマーにもお勧めだが、特にSEやアナリスト等、実際にオブジェクト指向モデリングをする人達には、新しい視点で物事を考える指標が得られる。ここに書かれている観点で、デザパタ本を読むと新しい発見がある事でしょう。サンプルコードはJAVAであるが、C++やC#技術者の向けのガイドが示されており、オブジェクト指向を使用する人ならお勧めである。