|
レビュー総評点:
208
デザインパターンを世に知らしめるキッカケになった本。誰もが名著だと認める一方で、説明の仕方が難解だとか、具体例が適切でないとかGUI関連のものに偏っているなどとも言われます。特に「デザインの再利用」という視点が強調されているため、説明がやや抽象的に進む感はあります。しかし、世の中のパターン絡みの本はほとんどすべて本書をベースに記述されていますから、本家本元にチャレンジする価値は高いのでは。最初の部分を除けば、基本的にパターンのカタログなので、本書を最初から順番に読み進める必要は一切ありません。最初に書かれているFactory絡みのパターンを理解するのに違和感があったら、もっと後に書かれているObserver、Command、State、Mediatorといったあたりへ飛んで読み進めるとより楽に読ませると思います。(鈴木純一 / 2002-11-30)
開発にオブジェクト指向言語を使用する大きな利点の一つはクラス(階層)の再利用性であるが、現実にはそのようにクラス設計をする事は難しい。本書は再利用性を念頭に置いてクラス設計の手法(デザインパターンと呼ぶ)を経験に基づいて体系化した名著である。Javaをご存知の方は、Javaの各クラス・ライブラリ階層が本書のデザインパターンと酷似している事にお気付きであろう。 本書ではデザインパターンを大きく次の三つに分けている。 (1) 具象クラスを生成するための抽象(インタフェース)パターン (2) 構造に関するパターン (3) 振舞いに関するパターン 例えば、(3)で説明されるIteratorパターンはJavaでその名前のまま出て来る。また、(1)で説明されるFactoryパターンが(呼称はともかく)恐らく一番ポピュラーな手法で、具象クラス群の生成を念頭に置きながら、特定の具象クラスに依存しない真に共通な要素を抽象的に定義するパターンである。 本書の内容は学術的に導いたものではなく、経験則に基づいたものだけに実践的である。それでいて、体系的に美しい。機能的に優れたものはデザインも美しいという見本のようである。本デザインパターンの考察にあたっては、建築学を参考にしたというのも面白い。本書を順に全て読む事は容易ではないが、本書の内容を身に付ける事で具象化や継承によるクラスの再利用性が格段に向上する事請け合いである。オブジェクト指向言語を使用してプログラミングをする方にとっては必読と言って良い名著。(紫陽花 / 2007-04-27)
確かにこの本は予備知識なしに読むのは難しいですね。 まず、"デザインパターン"とは何かということを、そしてその記述の仕方(パターン名、問題、解決、結果)を第1章で説明されていますが、事前に知っておいたほうが読みやすいと思います。 第2章ではLexiというTexに似たドキュメントエディタのなかにどんなデザインパターンが使われているか書かれています。個人的にもデザインパターンを説明するにはテキストエディタや描画エディタが最適だと思い、2章も押さえておくと以降も理解しやすいです。 第3章以降でやっとそれぞれ(生成、構造、振る舞い)のデザインパターンが紹介されています。"生成"、"構造"、"振る舞い"というのが何を意味しているのか初めはよくわかりませんでしたが、各パターンを見ていくうちにこの区別の仕方が理解できます。 ただし各章を順番どおりに読んでいくのではなく、後へ先へページを何度もめくっていく中で理解していくことができるでしょう。 「デザインパターン」を学ぶ上で、結城浩氏の「Java言語で学ぶデザインパターン入門」やW.J. ブラウンの「アンチパターン―ソフトウェア危篤患者の救出」もお勧めです。(sire / 2005-09-27)
この本はデザインパターンのバイブルとして名高く、ソフトウェア技術者は一度は目を通すべき本でしょう。 しかし、読みやすくは有りません。例や参照している文献はいかにも研究者向けの難解なものが多いし、本題とは関係のないところで躓くことも多いです。それでも辛抱して読む価値はあります。判りやすさを優先した本は他にあるのですが、この本のようなパターンの「深い」情報を提供してくれる本が他にないからです。 原著が出版されて7年、主流の言語も移り変わり、OOPの図の表記もOMTからUMLに変わりました。そろそろ、深さのレベルを保ったままより判りやすく改訂した第2版がでれば良いなと思います。 (中村拓男 / 2002-09-05)
すべてC++ベースで論じてあり、Javaに関してはC++から変換したJavaコードしかない、よってJava特有の実装上の考慮点は自分で気づかなくてはならない。これは本書の責任ではなく、GoF95も6年の歳月による経年劣化ともいえる。UML表記も然りで、UML1.1以前の表記なので、多少本書のクラス図の書き方に目を慣らす必要がある。だが基本的教科書として、今なお、必須の書だろう。(nemo_kaz1 / 2001-11-30)
これを理解できたとき、「オブジェクト指向とはこのためにあったのか」と思いました。 この本が出るまでは、オブジェクト指向とは継承、カプセル化のためにあると思っていましたが、これを読んで「ポリモフィズム(多体性)」こそが最も重要であることがわかりました。 全部を読もうとすると難しいです。前半を読んだあと、簡単そうなパターンを理解するよう努めて下さい。おすすめは「イテレータ」かな。 もしかしたら、”あたりまえジャン”と思うかもしれません。Javaなんかは言語ごと影響受けてますので。そういう方は”あたりまえジャン”の”あたりまえ”が如何なる理由からきているかをトクトクと説明していますので、よく読んでください。(cxj01155 / 2003-07-11)
デザインパターンと言えばこの本です。 デザインパターンの全てが書かれており、この本を完璧に理解できれば他のデザインパターンの本などいりません。 しかし、大抵の人はこの本は難しいと感じると思います。(もちろん私もそうでした・・・) 文章では懇切丁寧に書いてますが、あまりにもたくさんのことが書かれていて、その中でどれがこのパターンの要点なのか見えにくいです。 サンプルも理解するためだけにしてはやや難しいと思われます。 初めてデザインパターンを学ぼうとする人は、まずはより簡単に書かれている本で勉強することをお勧めします。 しかし、デザインパターンについて一番詳細に書かれているのはこの本です。 実際にコードを書きながら、何回も繰り返し読むことをお勧めします。(貨物列車を止めた男 / 2004-07-14)
デザインパターンのバイブルとして有名な本です。 前半では、後半で説明する各種のデザインパターンを使って、具体的にエディタアプリケーションの設計を説明しています。初心者が前半部分から読むとかなり眠くなると思います。 後半では、23のデザインパターンについて個別に解説されています。使用用途や保守の際の注意点、メリット・デメリットなど。各デザインパターンについて詳細な分析がなされています。 ただ、具体例に使用している言語が、C++やSmallTalkであるため、両方の言語を知らないとわかりにくかったりします。個人的にはC++版・SmallTalk版に分けてほしいような。 解説が難解なので、他の良書から入ることをお勧めします。結城浩氏の「Java言語で学ぶデザインパターン入門」です。サンプルコードがJavaなのでC++に即適用ができない部分もありますが、デザインパターンの概念はこっちのほうがわかりやすいです。こっちを読むにはJavaの知識は必須です。(masa / 2005-09-18)
パターンは「よくある問題」と「実用的な解」がペアになっている。 パターンを利用する、あるいは発見するためには問題意識が必要だ。逆に、問題意識を持つためにはパターンをよく知ることがよいかもしれない。 技術的な内容は満点。原著で味わえる微妙なニュアンス分を減点して星4つ。(fort2k / 2000-12-02)
この本を読む為に僕は別のパターン本を一冊読みました。それほど難易度の高い本です。少し前までこの本を読みきることが目標だったくらいです。 しかしGOFのパターンは今やオブジェクト指向技術者のバイブルです。ぜひこの難関にチャレンジしてみてください。もし一回で理解できなくてもあきらめず僕のように他の本で理解してから再度チャレンジするくらいで挑んでください。そうすれば技術者として確実に成長できている自分に会えると思います。(あーるみき / 2005-06-28)
一度読んだだけでは理解しにくいかもしれないが、あきらめずに二度三度と読んでもらいたい。 あなたのプログラミングスキルを向上させること間違いなし。( / )
パターンブームを起こした最初の書籍で内容的にはもちろん良い。しかし、翻訳にやや難がある。日本語文章に意味が不明瞭となっている部分が散見される。 翻訳は決して簡単な作業ではないので翻訳者たちを責めることはできないが、読者は少し注意した上で購入したほうが良いだろう。(スナフキン / 2009-11-25)
もはやデザインパターンは教養となった感があるが、 中途半端な理解は多分にもれず危険かつ迷惑なコーディングになりかねない。 デザインパターンを知りたい、知らせたい。 そんなときに、真っ先に辿り着くのがこの本だ。 本書はいわば原典であり、基本的なパターンとそれに関するテクニカルな情報は 全て網羅されていると言っても良い。 本当に知りたい事は、とりあえずこれを読めば解決するはずだ。 だが、理解するための最短の道かと言うとそうではない。 プログラミング言語で例えるならばこれはリファレンスマニュアルであり、 入門用の解説書ではない。一言で言うなら、説明がエレガントすぎる。 だが、困ったときに"ここにこう書いてあるよ"と逃げられるように、 是非手元に置いておきたい本である。
そして、たまにはInterpretorパターンの事も思い出してあげてください。(yyuki / 2009-03-28)
Addison-Wesleyのホームページでも売れている本の中ではいつも上位ですね。94年に出た本でここまで売れているのはすごいと思います。私が持っている英語版は刷りを重ねて29刷ですしね・・・。 デザインパターンに関して、非常に多くの情報が入っている本だと思います。これを理解するにはやはり少し時間が必要かもしれません。 新しいことがアタマに入ってきにくくなりましたが、プログラムを組む身としては身につけておきたい内容です。(Tanako.R / 2006-03-02)
本書は、エリック・ガンマ、ラルフ・ジョンソン、リチャード・ヘルム、ジョン・ブリシディースの所謂、オブジェクト指向の4人組(Gof, Gang of four)の共著です。 デザインパターンとは、型紙のことです。 上着を作りたければ、上着の型紙が必要です。 上着の型紙は1種類とは限りません。 デザイン(設計)に応じて、数種類から数千種類の型紙から選ぶ必要があります。 10や20の型紙を知っているだけで、使いこなしていると勘違いすることがないように、本書をじっくり読みましょう。 デザインパターンのことをよく知らないで、既存のソフトを修正してプログラムを作っているという場合もしばしばあります。 本書は、そのままデザインパターンのことをよくしらないまま使いつづけるのにも役立ちます。 デザインパターンの使い方を覚えるのにも役立つと思います。 建築物でも、類似の建物を建てる場合には、設計を再利用することがある。 ソフトウェア開発でも、対象が似ていれば、ソフトウェアも似ていていいかもしれない。 オブジェクト指向とは、物(オブジェクト)思考なのだから、その設計(デザイン)も、似ていて当然かもしれない。 設計の再利用は自然の流れである。 課題てゃ、再利用する設計が、抽象的すぎることかもしれない。 もっと、具体的な会計システムのような厳密に定義できるものだとよかったかもしれない。 デザインパターンという設計の基本的な例題を使うという視点では、 結城さんが書いた「java言語で学ぶデザインパターン入門」「java言語で学ぶデザインパターン入門マルチスレッド編」を合わせて読むとよいかもしれません。 結城さんは、長年、マニュアル本をたくさん書かれているので、さまざまな情報源から情報を収集し、体系的に説明するのに長けていると思います。(kaizen / 2008-12-09)
レビュー数 16
[残りも全部見る][amazonでレビューを書く]
平均点:4.5
|