読者の声

Java言語で学ぶデザインパターン入門

結城浩

目次

はじめに

このページでは、 『Java言語で学ぶデザインパターン入門』執筆中にレビューアから送られてきた感想、 および読者の方から寄せられた感想をご紹介しています。 みなさま、ありがとうございます。

スキルを大幅!に向上

デザインパターン入門デザインパターン入門マルチスレッド編両方とも自分のスキルを大幅!に向上させることができました。 更なる向上を目指していますが、なかなか良い書籍がみつからず洋書などはどれがよいのかわからず探すだけで終わってしまいます。 めげずに前向きにいきたいなんて思っていますが、 デザインパターン応用編なんていうのでませんかね? とにもかくにも本がボロボロになるまで何回も読んだプログラム関係の書籍は、 この2冊だけですかね。(ってそんなことはないかも) 書き物って結構大変な仕事だと聞きますが、 終わったときの充実感もけっこうなものなんでしょうか?これからも良い書籍期待しています。 (31歳 製造業)

この本のおかげで単位を落とさずに済みました

この本のおかげで単位を落とさずに済みました! パターンの紹介されている順番が、自分には、原典よりも結城さんの方が合っているように思います。 授業が終わってから、見ていないパターンも含めて、またゆっくり見直していきたいです。

(gamme@関心空間さんのコメントから。許可を得て転載)

Javaはさわったこともなかったんですが

Javaはさわったこともなかったんですが、 それでもわかりやすい本だと思います。 まだ、途中までしか読んでないのでここまで。 頑張ってください。 (26歳 フリーター)

非常にわかりやすくかかれていてすこし驚きました

「Java言語で学ぶデザインパターン入門」を購入しました。 非常にわかりやすくかかれていてすこし驚きました。 というのは、日本で発売されている本でこのように わかりやすい本は、めずらしいからです。 翻訳本か超簡単な入門本が多いですよね。 宗教的なページをもたれているのも印象的ですね。 それと詳しい経歴をかかれていないのも良いとおもいます。 これからも、 「Java言語で学ぶデザインパターン入門」のような 本を出版されることを願っています。

デザインパターンにこんな面白さがあるとは

本書籍を読むまでは考えもしなかった(逆に面倒だと思うような)方法に、 こんな面白さ(実用性、メリット)があると言う事に気付かされました。

絶妙なバランスです!

正直に白状しますと最初この本をぱっと見たときはあまりにも丁寧に書かれすぎているのではないかとちょっと懐疑的でした。

でも読み進めてみると自分で考えつつ、個々のパターンについて整理しながら読み進めることができて(絶妙なバランスです!)、もう今では手放せなくなっています。

p.s 次回作も楽しみにしています。

最高クラスの分かりやすさ

Javaのデザインパターンの本を買いました。 今まで買った本の中でも最高クラスの分かりやすさです。 おかげで少しはオブジェクト指向が分かりそうな気がして来ました。 これからも執筆頑張ってください。 (22歳 学生)

GoF本では挫折したけれど

デザインパターンに興味があり 『Java言語で学ぶデザインパターン入門』を購読しました。 GoF本で挫折してしまった経験がありましたが、本書はとても わかりやすくすらすらと読めてしまいました。 ありがとうございました。 (30歳 エンジニア)

簡潔で実践的

本書において、一番これは良い!と思ったのは内容が簡潔であることです。

初めてパターンの知識を得る書籍としても、座右の書として身近に 置いておき、パターンについて忘れてしまった事柄を簡単に読み知る事が出来る書籍としても、重宝すると思います。

なんやかんやと知識を詰め込むような物ではなく、 サンプルをもちいて実践的な用例を見せられた部分も良く、面白かったです。

サポート体制が素晴らしい

満足した点:

(1) 解説が丁寧で分かりやすかった。 (気配りが随所に見られた。)

(2) サンプルプログラムで取り扱う 例題(問題)が面白かったので、 ソースを読むのが苦にならなかった。

(3) 重要なポイントが太字で書かれて いるので、ありがたかった。

(4) パターンだけでなく、オブジェクト 指向技術についても、学ぶところが 多かった。

(5) サポート体制が素晴らしい。 ( メーリングリスト等で筆者に 直接質問ができる、etc.)

少し不満に感じた点:

(1)各章の「関連しているパターン」 セクションの記述がもっと豊富 であれば、ありがたかった。 (ちょっと、これは言い過ぎかも しれませんね。すみません。)

総合評価: 「素晴らしい」の一言に尽きます。 結城さんをはじめ、レビューアの 方々や出版に携わった方々に心から 感謝を申し上げます。

更なる期待: (1) パターン間の関連を題材にした 「応用編?」の出版を期待致します。

以上です。 (コンピュータソフトウェア開発)

GoF本で復習しながら読んでいます

『Java言語プログラミングレッスン』(下)からお世話になってます。 GoF 本は読んだのですが、C++ は判らないし、なんだか難解で...。 とりあえず、「Java の格言」などを読んでお茶を濁していたのですが、 この度の 『Java言語で学ぶデザインパターン入門』で、これでやっと(^^; 取っ掛かりを掴めそうです。 GoF 本で復習しながら読み進んでます。

感想: まだ、1/3程しか読んでませんが、「デザインパターン」といっても普通に Java 等で 書いていれば、当たり前の設計パターンそれぞれに名前が付いているという印象です。 だた、インターフェース、継承、委譲の配置のお手本としてパターン化されていること、 他の技術者とオブジェクト指向について意志疎通がはかりやすくなることは大きな利点 だと感じました。 今後の執筆も、頑張って下さい。 (31歳 SE)

BNFについて少し理解

Interpreter パターンを読みました。 BNFという言葉は、聞いたことがあったのですが、 何かパズルのようで何の役に立つのだろうと思っていたのですが、結城さんのサンプルプログラムを見て、 コンパイラやインタプリタを作るときは、BNFをきちんと書き、 その後、BNFに基づいてプログラムを作って行くという過程が少し理解できたような気がします。

GUIプログラミングをするときには必須

Mediator パターンを読ませていただきました。 この考え方、GUIプログラミングをするときには必須のように感じられました。 実際にオブジェクト同士の通信で破綻をきたしかけていたので、 とても参考になりました。早速使ってみようと思います。

Abstract Factoryは、なんともすごい

Abstract Factory パターンは、 Java言語の本領発揮というかオブジェクト指向の本領発揮というか なんともすごいからくりですね。とても面白く読ませていただきました。

工場も出来上がる製品の形も共通だけど材料が違うと出来上がる製品も ちょっと違ってくる。そんな雰囲気をうけました。

実際にいろいろ作成できるサンプルプログラムで理解が深まる

Builder パターンの感想です。 とてもわかりやすい内容だと思いました。

特に サンプルプログラム は、実際に自分でもいろいろ作成できるものだったので 理解が深まったような気がします。

要点を抑えて読むことができる

この部分は最初に「ここのロジックはよく読みましょう」と記述されているので、 ここは重要だろうと思って読みました。 このようなほんの僅かな言葉が書かれているおかげで非常に読みやすくなっているのだと思います。 読書の苦手なわたしも要点を抑えて読むことができるようになった気になりました。 ありがとうございます。

また、この Flyweight パターンは、わたしが関わったプログラムの実装で、 頻繁に利用していることに気がつきました。 「有ればそれを見つけて返却、なければ作って返却」のいつものパターンねという 会話をしていたのは、実は Flyweight パターンだったと気がつきました。

他の本と比べてみると

UMLやオブジェクト指向の本をいくつか、 レビューを始めてから本屋さんで立ち読みしたり、 Webページをつらつらと調べたりもしたのですが、 いかに今回のデザインパターン入門が分かりやすいかを 実感しました。

英語が得意でない私でも

(デザインパターンの 英語の名前を、日本語で解説 している点について) 私は、英語はそれほど得意では無いのでとても助かります(^^;。 他のデザインパターンの本で不満だった点の一つが、日本語での イメージのつかみにくさだったからです。

GoFの本は難しかった

難しいんです。 あのGoFの本。 C++ のプロジェクトでお目に掛かったのですが、 一部の大ベテランを除いて、その意味する所を理解した人間はありませんでした。 当時、私も理解できない側の一人だったので敷居の高い本として記憶にあります。

UMLってこういう風に使うのか

UML って、膨大な約束事があって、それが何の役に立つのだろう と思っていましたが、 ふ〜ん、こういう風に使うのか、 と少し分かっ た気がします。仕様の説明に先だって、実例を示してあるのが 分かりやすくてよいと思います。

finalについて理解

Template Method の、説明としていつものようにサンプルのプログラムが 記述されていましたが、非常に的確にわかりやすい内容となっていました。

final宣言 について理解していなかったため、調べて続きを読んだところ 練習問題 にその解答が記述されていて、自分の理解した内容と合致したため安心しました。 まだまだJava言語を理解していないことが多く、自分でも調査しながら 読んでいます。

コンストラクタパッケージを理解

Factory Method の練習問題で記述されていました、 コンストラクタ の説明ですが、 これも恥ずかしながら、初めて理解したことで、非常に嬉しく思いました。 しかし、勉強不足な点は否定できませんので、今後さらに勉強をすすめて いきたいと思います。よろしくお願いします。

また、 パッケージ とすることによって、 Factory Method は、これほど汎用的になるものなのかと、実感しました。 これも、恥ずかしながら...なのですが、パッケージを利用したのが始めて でした。そのため、パッケージのコンパイルの方法が最初わからず、戸惑い ましたが、無事プログラムの実行を行えました。

今回の内容は、わたしにとって、いろんなことが吸収できた(知らないことが 多すぎて恥ずかしいのですが..)と実感でき、ありがたく思いました。 ありがとうございます。

すんなり文章が読め、内容の理解がしやすい

これまでの数回のレビュー作業や、 「あなたの考えを広げるためのヒント」 の項目のおかげか、すんなり文章が読め、内容の理解がしやすくなってきたと思います。

入門 と名のついている書籍には、 「読みやすい」 というのは凄く大切な 要素だと思います。初心者が初めて手にする書籍の出来、不出来によって、 その後の人生が左右されると言っても過言ではないでしょう。

そのような意味で 『Java言語で学ぶデザインパターン入門』は楽しみな本です。 ヽ(^O^)

クラスの初期化を理解

Singleton パターンは、よく言葉は耳にしてたのですが、1つしかないという ことをどのように実現するのか?の解釈がうまくできず困っていたところでした。

まず、問題だったのは、 クラス初期化 の順でした。 最初にstaticメソッド getInstanceを実行すると、クラスが初期化され、 もう一度getInstanceを実行すると、そのインスタンスを使用することができる (うまく表現するのが難しいのですが、再度初期化されない...)という ことを理解しました。

補講の部分がとてもわかりやすかった

Template Methodパターンの 補講の部分 がとてもわかりやすかったです。 「スーパークラスからサブクラスへの要請」 という視点の切り替え方・考え方が、なるほどと思いました。

継承・インタフェース・抽象クラスがすっきり

読ませていただきました。 読み進むごとに頭の中が 継承 とか インタフェース に慣れてきたのかどんどんすっきりしていっています。

今回の文章を読ませてもらってやっと 抽象クラスの存在意義 のようなものがわかったような気がします。

練習問題もいいです

Factory Method パターンの 練習問題 もいいです。 この問題を見るまで、コンストラクタに public が ついてないことすら気付いていませんでした。

問題を解くことで、この章の学習内容の 本質が理解できているのかチェック できていいです。

なるほど〜抽象クラスインタフェースの存在意義

僕は、読んでて、ほんっっっとに わくわく します。 読み終った後、 なるほど〜 とか、奥が深いなぁとか、 だから 抽象クラスインタフェース って存在意義があるのか〜などと、感動してます。

Abstract Factoryパターン恐るべし

抽象的な工場が登場し、抽象的な部品を組み合わせて抽象的な製品をつくるとは、 Abstract Factory パターン恐るべし。

この頃、やっとこの手のパターンにもなれてきました。 実際、 Abstract Factory パターンの抽象化のレベルが凄くて 皮肉にもかえってわかりやすかった気がする。 これは結城さんの説明がうまいのも理由の1つですが。

Template Methodパターンの利用について理解

Factory Method パターンを読んだ感想としては、前の Template Method パターンと同じくとても 理解しやすいかったと思います。また、このパターンを読んで初めて Template Method パターンの利用について少し理解できたような気がします。

擬人法がうまく適合する

デザインパターンは、 擬人法 にたとえた表現がとてもうまく適合すると 感じました。 常に、クラスやインタフェースは、どういう振る舞いをする人(クラス)であるかを考えるのが、 わかりやすく理解できるコツなのかと、今のところ感じています。

パターンの本質がうまく表現されたサンプルプログラム

結城さんのサンプルプログラムは非常に いいところをついていて、 大きすぎない プログラムで、 紹介する パターンの本質 をうまく表現されていて、とてもうれしく思います。

このパターンは重宝しそう

さて今回( Composite )は、ファイルシステムを例に例え、サンプルもそのような物を 作るという非常に シンプルでわかりやすい構成 でした。 また、「以前から木構造についてのパターンはあるのかな?」 と思っていましたが、あったんですね。 このパターンは重宝しそうです。

フレームワークについて経験的に学べそう

私はクラスライブラリを作る仕事のときに フレームワーク とライブラリの違いを学びました。よく耳にするけど簡単に説明するにはちょっと難しいという類 のものだと思います。人によってはイメージ しきれない人がいるかも、と思いましたが、このパターンの文章を読めば経験的に学べそうですね。

プログラミングの楽しみを再認識

このレビューに参加させてもらって良かったです。 プログラミングの楽しみを再認識 した気がします。 デザインパターンというメタレベルのことを、(自分の主観ですが)わかりやすく解説していただける...

非常にわかりやすくイメージが説明

Decorator では、例え話の ケーキの話 から非常にわかりやすくイメージを説明されていて、 非常に内容に入りやすく、理解しやすかったです。

うまく説明できなかった部分をついている

継承と委譲における同一視 の補講の中で、 Rose、Violet、Flowerのクラスの関係の話は、わたしにとって、 わかりそうでうまく説明できなかった部分をついている内容で、なるほど..と納得できるものでした。 ありがとうございます。

デザインパターンだけでなく、Javaについても理解していける

文章もわたしにとっては理解しやすく、 デザインパターンだけでなく、Javaについても理解していけるので、 非常に今回のような機会に巡り合えたのがうれしく思います。 ありがとうございます。

毎朝読んでいます

わたしは、ここのところ毎朝原稿を読ませて頂いています。 お蔭様で、今日も一日一つ賢くなった気になりながら、毎日の仕事前の 朝食代わりになっています。

今日の Facade は、身近な問題の指摘も記述されていたため、非常にわかりやすく、 また、関わっていたプロジェクトでの実装にも適用できればよかったなと思いました。

今日はどんなパターンが勉強できるのかなとわくわく

昼間は仕事に追われているのですが、帰宅後は ゆっくり結城さんの原稿を読んでます(^^)。 先日、結城さんのメールの中で、執筆が楽しいとありましたが、僕も、今日は どんなパターンが勉強できるのかなと わくわく しながら車を運転して帰ってます(^^)。

UML技術者認定に合格

実は( UML技術者認定制度 シルバーの)最後の問題にデザインパターンに関する問題があり、 これはどのパターンのことを説明しているか? などという問いがありました。 今回このレビューの企画に参加できたおかげで、なんとなくこれかな? とわかり、恐らく正解だったのだと思います。

Javaやオブジェクト指向の理解が深まった

結城さんのメールで、デザインパターンを勉強するようになって、 デザインパターンの難しさや面白さが分かりましたが、 それ以外にも、Java言語や オブジェクト指向 に対する理解が、 ものすごく深まったような気がします。

他のページでの感想

更新履歴

豊かな人生のための四つの法則