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