初心者向けには十分な内容
★★★★★
オブジェクト指向やフレームワークが、具体的なコーディングを元にした抽象思考であることから、
具体的に詳細に説明し過ぎると、抽象性を失い分かりにくくなる。
そういう意味で、適当な量の説明で、各パターンとの相違も明確になっており理解しやすい。
コーディング例もシンプルなので、自分でそのまま打ち込んで、いろいろ肉付けしたり学習しやすい。
書籍は放っておくと増える一方なので、随時処分しており、他のデザインパターンの本も処分しましたが、この本はずっと手元に残しています。
本書の構成はいいけど、説明がちょっと、、、
★★★☆☆
やっとオブジェクト指向が理解できてきた(?)ので、
以前さっぱり分からなかった本書を再度読み直しております。
■良いところ
1、他の方がおっしゃっている様に、それぞれのデザインパターンの
目的、効果、背景、デザインパターン適用前のソース、適用後のソース、
副作用、デザインパターンの概略図が載っているので、見やすいです。
2、例題が短いです。
3、本のサイズが小さくて、厚さも250ページほど。
コンパクトな辞書として使えると思います。
■不満なところ
1、そのまま丸写ししても実行できません。
(各メソッドにprivate、publicなどが表記されていません。)
2、ソースを紹介するの四角の囲いの中に、クラスが、1つだったり、2つだったり
書かれています。
(基本的には、1ファイルには1クラスを書きなさい、と言われ続けた私には、
違和感があります。)
3、クラス名が、MyClassA、MyClassBという感じで命名されているので
分かりにくいです。
(個人的には、各クラスがもつ役割をクラス名にしてあげればいいのに、、、
と思っています。)
4、与えられた例題では、あまりデザインパターンの効果を感じられなかったです。
(あくまで、個人的な見解です。)
■総括
個人的には、本書の構成はとてもすばらしいですが、
説明、例題が分かりにくいと感じました。
本書の構成で、別の説明で別の例題を書いていただければ
とてもすばらしい参考書になったと思います。
また、オブジェクト指向が分かっていないのに、本書に手を出すと危険です。
更に訳が分からなくなります。
Java入門書を一通りマスターした初心者に!
★★★★☆
「デザインパターン」とは,オブジェクト指向プログラミングにおいて,
「こんな風にクラスを作ると,後で直しやすいし,再利用もしやすいですよ」というパターンを集めたもの。
デザインパターンの本は分厚いものが多く,
特に初心者にはハードルが高い。
そんな中で,この本の薄さは非常に貴重。
各パターンがそれぞれ10ページ程度にまとめられており,概要をつかむのに最適。
Javaの入門書を一通り勉強したが,
「抽象クラスやインタフェースって,何のためにあるの?」
「ポリモルフィズムって何が嬉しいの?」
という疑問が残っている人におススメ。
各章のサンプルプログラムが短く,
本のサイズ自体も小さい(A5版)ので,
電車の中とかで読みやすいのも素敵。
ただし,サンプルプログラムがシンプル過ぎて,
各パターンの利点がイマイチ掴みづらい。
そこらへんを知りたい人は,他の本を読む必要が出てくると思う。
デザインパターンを教材として「良い暮らす設計」のエッセンスを学ぶ
★★★★★
GoFデザインパターン解説書の体裁をとった「オブジェクト指向設計」入門。コンパクトにまとめられた良書だと思う。
対象読者は、Javaの文法を一通り理解しており、プログラミングにも慣れてきた頃のJavaプログラマ。GoF本のデザインパターン23種類を順に取り上げ、各パターンの目的・効果・背景・サンプルプログラム・注意点を簡潔に述べていく。ただし、デザインパターンをすぐに使いこなせるように読者を導くことが本書の狙いではなく、デザインパターンを教材として「良いクラス設計とは何か」の指針を与えることに主眼を置いている。
そのため、各パターンの解説では、そのエッセンスだけを簡潔に伝えることに注力されている。サンプルプログラムは全てJavaで記述されているが、どれも「Hello, World!」レベルなので、Javaプログラマでなくても内容を理解できると思う(巻末に、サンプルプログラムを理解するために最低限必要なJava言語仕様が25ページ程度にまとめられている)。
開発の現場から生まれた本、という印象を受けた。各パターンの解説の最後に置かれた「注意点」が秀逸で、「そのパターンを用いる場合、何に注意しなければならないか」「そのパターンを用いない方がいいのはどのような場合か」「そもそも、デザインパターンを適用することで解決できるような問題はそれほど多くない」といった類の指摘に説得力がある。また、デザインパターン万能論とも言える数々の「誤解」について述べた最終章「デザインパターンの難しさを理解する」も面白い。
デザインパターンを丁寧に解説
★★★★★
「徹底攻略」とタイトルにあるが、どちらかというとデザインパターンとはどういうものかを解説した入門書に近いものがある。したがって、初めてデザインパターンを学ぶ方には適していると思われる。サンプルソースはごく平易なものを採用しているが、やはり基本的なJava知識は必須。また、デザインパターンに対する過剰意識(誤解)なども後半にまとめられているのも嬉しい。実践に繋げていくためには、本書を読破するだけでは難しいが、発想の手助けになってくれる一冊である。