デザインパターンを読んで、定義されている23個の(?)何らかのパターンがあることがわかりました。私はどちらかを示唆する少数のオーバラップ(ビルダーとデコレータ)を見たことがあります。デザインパターン直交性
a。私は与えられたパターンとその違いを完全に理解していません。
b。いくつかのパターンのいくつかのデザインフィーチャのいくつかは、他のパターンと重複しています。
デザインパターンの哲学全体が、既知のパターンセットのパターン「直交性」のアイデアを強制してはいけませんか?
デザインパターンを読んで、定義されている23個の(?)何らかのパターンがあることがわかりました。私はどちらかを示唆する少数のオーバラップ(ビルダーとデコレータ)を見たことがあります。デザインパターン直交性
a。私は与えられたパターンとその違いを完全に理解していません。
b。いくつかのパターンのいくつかのデザインフィーチャのいくつかは、他のパターンと重複しています。
デザインパターンの哲学全体が、既知のパターンセットのパターン「直交性」のアイデアを強制してはいけませんか?
実際、私はデザインパターンが完全に別のものと重なっているとは思わない。それらがマージされていないという事実を説明する違いは常にあります。
ウィキペディアは言う:
オブジェクト指向プログラミングで
は、 Decoratorパターンは、新規/追加の行動 は、既存のクラス に追加することを可能にするデザインパターン です動的に
と
Builderパターンは、ソフトウェア デザインパターンです。これらのステップの異なる 実装が オブジェクトの異なる表現を構成することができるように、意図は、 オブジェクトの構築の抽象的なステップです。
概念の類似点はありますが、全く同じではありません。
4つのギャング(GO4)によって定義された23のデザインパターンは、文字通り無制限です。もしあなたがそれを採用すれば、それは実際にはデザインパターンです。技術の組み合わせによっては、一度にn個のパターンを使用することができます。
重複についてはhttp://www.dofactory.com/Default.aspx
ない...本当に...良い例:ここでは
は、.NETの世界の文脈の中でパターンを学習するための良い源である(それは$ 99が、非常に貴重です) MVC(Model View Controller)になります。実際には、CakePHP、ASP.NET MVC、Spring、Strutsなど数多くの方法で実装されていますが、MVP(Model View Presenter)と呼ばれる密接な関連性はありません。彼らは多くの側面(モデルビュー部分)を共有しますが、明確な違いがあります。任意の開発プロジェクトでは、数多くのデザインパターンを使用できます。例えば。リポジトリパターン、MVC、デコレータなど