建築物でも、類似の建物を建てる場合には、設計を再利用することがある。 ソフトウェア開発でも、対象が似ていれば、ソフトウェアも似ていていいかもしれない。 オブジェクト指向とは、物(オブジェクト)思考なのだから、その設計(デザイン)も、似ていて当然かもしれない。 設計の再利用は自然の流れである。 課題てゃ、再利用する設計が、抽象的すぎることかもしれない。 もっと、具体的な会計システムのような厳密に定義できるものだとよかったかもしれない。
ソフトウェア開発者等、設計作業に関わるかたは、読んでみる価値があります
開発にオブジェクト指向言語を使用する大きな利点の一つはクラス(階層)の再利用性であるが、現実にはそのようにクラス設計をする事は難しい。本書は再利用性を念頭に置いてクラス設計の手法(デザインパターンと呼ぶ)を経験に基づいて体系化した名著である。Javaをご存知の方は、Javaの各クラス・ライブラリ階層が本書のデザインパターンと酷似している事にお気付きであろう。 本書ではデザインパターンを大きく次の三つに分けている。 (1) 具象クラスを生成するための抽象(インタフェース)パターン (2) 構造に関するパターン (3) 振舞いに関するパターン 例えば、(3)で説明されるIteratorパターンはJavaでその名前のまま出て来る。また、(1)で説明されるFactoryパターンが(呼称はともかく)恐らく一番ポピュラーな手法で、具象クラス群の生成を念頭に置きながら、特定の具象クラスに依存しない真に共通な要素を抽象的に定義するパターンである。 本書の内容は学術的に導いたものではなく、経験則に基づいたものだけに実践的である。それでいて、体系的に美しい。機能的に優れたものはデザインも美しいという見本のようである。本デザインパターンの考察にあたっては、建築学を参考にしたというのも面白い。本書を順に全て読む事は容易ではないが、本書の内容を身に付ける事で具象化や継承によるクラスの再利用性が格段に向上する事請け合いである。オブジェクト指向言語を使用してプログラミングをする方にとっては必読と言って良い名著。
Addison-Wesleyのホームページでも売れている本の中ではいつも上位ですね。94年に出た本でここまで売れているのはすごいと思います。私が持っている英語版は刷りを重ねて29刷ですしね・・・。 デザインパターンに関して、非常に多くの情報が入っている本だと思います。これを理解するにはやはり少し時間が必要かもしれません。 新しいことがアタマに入ってきにくくなりましたが、プログラムを組む身としては身につけておきたい内容です。
確かにこの本は予備知識なしに読むのは難しいですね。まず、"デザインパターン"とは何かということを、そしてその記述の仕方(パターン名、問題、解決、結果)を第1章で説明されていますが、事前に知っておいたほうが読みやすいと思います。 第2章ではLexiというTexに似たドキュメントエディタのなかにどんなデザインパターンが使われているか書かれています。個人的にもデザインパターンを説明するにはテキストエディタや描画エディタが最適だと思い、2章も押さえておくと以降も理解しやすいです。 第3章以降でやっとそれぞれ(生成、構造、振る舞い)のデザインパターンが紹介されています。"生成"、"構造"、"振る舞い"というのが何を意味しているのか初めはよくわかりませんでしたが、各パターンを見ていくうちにこの区別の仕方が理解できます。 ただし各章を順番どおりに読んでいくのではなく、後へ先へページを何度もめくっていく中で理解していくことができるでしょう。「デザインパターン」を学ぶ上で、結城浩氏の「Java言語で学ぶデザインパターン入門」やW.J. ブラウンの「アンチパターン―ソフトウェア危篤患者の救出」もお勧めです。
建築物でも、類似の建物を建てる場合には、設計を再利用することがある。
ソフトウェア開発でも、対象が似ていれば、ソフトウェアも似ていていいかもしれない。
オブジェクト指向とは、物(オブジェクト)思考なのだから、その設計(デザイン)も、似ていて当然かもしれない。
設計の再利用は自然の流れである。
課題てゃ、再利用する設計が、抽象的すぎることかもしれない。
もっと、具体的な会計システムのような厳密に定義できるものだとよかったかもしれない。
ソフトウェア開発者等、設計作業に関わるかたは、読んでみる価値があります
開発にオブジェクト指向言語を使用する大きな利点の一つはクラス(階層)の再利用性であるが、現実にはそのようにクラス設計をする事は難しい。本書は再利用性を念頭に置いてクラス設計の手法(デザインパターンと呼ぶ)を経験に基づいて体系化した名著である。Javaをご存知の方は、Javaの各クラス・ライブラリ階層が本書のデザインパターンと酷似している事にお気付きであろう。
本書ではデザインパターンを大きく次の三つに分けている。
(1) 具象クラスを生成するための抽象(インタフェース)パターン
(2) 構造に関するパターン
(3) 振舞いに関するパターン
例えば、(3)で説明されるIteratorパターンはJavaでその名前のまま出て来る。また、(1)で説明されるFactoryパターンが(呼称はともかく)恐らく一番ポピュラーな手法で、具象クラス群の生成を念頭に置きながら、特定の具象クラスに依存しない真に共通な要素を抽象的に定義するパターンである。
本書の内容は学術的に導いたものではなく、経験則に基づいたものだけに実践的である。それでいて、体系的に美しい。機能的に優れたものはデザインも美しいという見本のようである。本デザインパターンの考察にあたっては、建築学を参考にしたというのも面白い。本書を順に全て読む事は容易ではないが、本書の内容を身に付ける事で具象化や継承によるクラスの再利用性が格段に向上する事請け合いである。オブジェクト指向言語を使用してプログラミングをする方にとっては必読と言って良い名著。
Addison-Wesleyのホームページでも売れている本の中ではいつも上位ですね。94年に出た本でここまで売れているのはすごいと思います。私が持っている英語版は刷りを重ねて29刷ですしね・・・。
デザインパターンに関して、非常に多くの情報が入っている本だと思います。これを理解するにはやはり少し時間が必要かもしれません。
新しいことがアタマに入ってきにくくなりましたが、プログラムを組む身としては身につけておきたい内容です。
確かにこの本は予備知識なしに読むのは難しいですね。
まず、"デザインパターン"とは何かということを、そしてその記述の仕方(パターン名、問題、解決、結果)を第1章で説明されていますが、事前に知っておいたほうが読みやすいと思います。
第2章ではLexiというTexに似たドキュメントエディタのなかにどんなデザインパターンが使われているか書かれています。個人的にもデザインパターンを説明するにはテキストエディタや描画エディタが最適だと思い、2章も押さえておくと以降も理解しやすいです。
第3章以降でやっとそれぞれ(生成、構造、振る舞い)のデザインパターンが紹介されています。"生成"、"構造"、"振る舞い"というのが何を意味しているのか初めはよくわかりませんでしたが、各パターンを見ていくうちにこの区別の仕方が理解できます。
ただし各章を順番どおりに読んでいくのではなく、後へ先へページを何度もめくっていく中で理解していくことができるでしょう。
「デザインパターン」を学ぶ上で、結城浩氏の「Java言語で学ぶデザインパターン入門」やW.J. ブラウンの「アンチパターン―ソフトウェア危篤患者の救出」もお勧めです。