デザインパターンの決定的なリストは存在しますか?
デザインパターンのアイデアはどこから来たのですか?パターンとは何かを決定し、名前を付けたのは誰ですか?それらを定義する公式の組織はありますか、それともコミュニティのコンセンサスを通じて存在しますか?
基本的な「デザインパターンのライフサイクル」があると思います
- 著者は本の中でデザインパターンについて書いています。
- 本はよく読まれ、おそらくベストセラーになります
- デザインパターンは一般の人々の意識を高め、マインドシェアを獲得します。
- デザインパターンが使用されます。それはうまくいきます。デザインパターンがよりマインドシェアを獲得
- デザインパターンは万能薬になり、使いすぎになります。
- 別の著者が「有害と見なされるデザインパターン」と書いている
- デザインパターンは アンチパターン
- 別の著者が有名になり、新しいデザインパターンでいっぱいの本を書きます...
ほとんどの人は、本を書いた "Gang of Four" (Erich Gamma、Richard Helm、Ralph Johnson、およびJohn Vlissides)を指していますデザインパターン:要素再利用可能なオブジェクト指向ソフトウェア。有用なデザインパターンが常に発見されているため、実際の決定的なリストはありません。
ウィキペディアには良いリストがあります。 http://en.wikipedia.org/wiki/Design_pattern_(computer_science)
ほとんどはコミュニティのコンセンサスによるものです(コミュニティはデザインパターンやコードを完全に読んだ人々で構成されています:/)
簡単な答え:いいえ。
長い答え:誰かが何かをデザインし、それが他の人によって再利用される傾向がある場合、新しい「デザインパターン」が作成される(または発見される??)
実際、既存のアプリケーションのデザインパターンの数は膨大になる可能性がありますが、まだ分類されているものはありません。
前のリンクを次の2つに追加します。
デザインパターンのアイデアは、建物や町の建築パターンについて書いているときに、クリストファーアレクサンダーによって造られました。同様に、エンジニアがオブジェクト指向の設計方法論でより多くの経験を積むにつれて、パターンが出現しました。
パターンとは何か、パターンではないものを定義する公式のコンソーシアムは1つではありません。ただし、パターンは通常、一般に受け入れられるまでのライフサイクルが長くなります。開発コミュニティは、PLOP(Pattern Languages of Programs)やその年次会議などに参加し始めています: 2008 Conference は、パターンの作成者と愛好家に焦点を当てて、パターンと新しいパターン開発の主題について話し合います。
決定的なリストはありません。パターンは発見されたものであり、発明されたものではないため、「これはパターンです」と「これはパターンではありません」と言える組織はありません。たとえあったとしても、それは誰にとっても役に立たないでしょう。
それにもかかわらず、「有名な」パターンは、デザインパターンまたはGOFブックで説明されているものです。
アンチパターン を認識することも役立ちます。
これはパターンの良いリストです(Patterns of Enterprise Application Architecturebookから):
明確なリストはありません-あるためには、パターンがパターンであるか、それとも単に...何か他のものであるかを宣言するための何らかの権限が必要になる可能性があります。
一部のパターンは、言語のサブセットでのみ意味があります-正規の GOF本 はJava(またはC++ですか?本はオフィスの机の上にあります)に集中しています)説明されているパターンのいくつかは、たとえばRubyまたはVB6)ではあまり関連性がありません。もちろんその逆も同様です。
Gang ofFourの本とFowler'sPatterns of Enterprise Architectureのリストの和集合は、あなたが知る必要があることの99%をあなたに与えると思います。
決定的なリストはあり得ません。これまで。
明確に表現できるパターンがあるという問題の解決策をいくつか見つけた場合は、デザインパターンを発見したことになります。あなたはいつでもこれを続けることができます。
すべての巧妙で新しいソリューションは、共通のパターンを共有する同様のソリューションの起源となる可能性があります。パターンは何かですあなた問題のクールな解決策を要約してキャプチャするために使用します。
人間の脳はほぼ何でものパターンを見つけることができます。それは私たちがそれについて考えずに行うことです。
正規の本があります:ガンマ、ヘルム、ジョンソン、ブリシディーズ:「デザインパターン-再利用可能なオブジェクト指向ソフトウェアの要素」それをすべて始めました。 23のパターンが含まれています。