増補改訂版Java言語で学ぶデザインパターン入門 [結城浩 著]の書評です。
結論から言うと、難しいと思われがちなデザインパターンを易しく丁寧にかつ詳しく解説した良書です。
■ 良い点
・ GoFの全23パターンが丁寧かつ易しく解説されている
・ 各パターンが15ページほどで適切な文章量に収まっている
・ サンプルコードが易しく分かりやすい
・ サンプルのクラス図及びパターンのクラス図が分かりやすい
・ パターン同士の関連に言及されている
・ 文章が読みやすく比喩の例えがよい
・ オブジェクト指向プログラミングの理解が深まる
・ 練習問題の解説が約100ページと充実
■ 悪い点
・ 均等な解説のためどのパターンが重要かが分からない
■ 総評
デザインパターン界隈では、結城本と呼ばれ、名著とされている一冊です。
言語はJavaで書かれていますが、基本的な文法を理解している人なら、ほぼすべてのサンプルコードを読み解けます。また、UMLを使ったクラス図を用いた解説がありますが、UML自体の簡易説明もあるので初心者には嬉しい配慮がされています。
また、オブジェクト指向の理解を深めるための解説が、随所に散りばめられており、プログラミングの基礎力の向上も期待できる内容となっています。
オブジェクト指向とデザインパターンに興味がある人なら是非読んでおきたい一冊です。
ただ、GoFの全23パターンが均等に解説されているため、どのパターンがより重要かは分かり辛くなっています。もっとも、自分の保守するコードを思い浮かべながら読むと、自分が活用できそうなパターンも見えてくるので、そういった点を想像しながら読むといいと思います。