Builder デザイン パターンと Factory デザイン パターンの違いは何ですか?
どちらがより有利ですか、またその理由は何ですか?
これらのパターンをテストして比較/対比したい場合、調査結果をグラフとして表現するにはどうすればよいでしょうか?
ベストアンサー1
デザイン パターンでは、通常、すべてのケースで機能する「より有利な」ソリューションはありません。実装する必要があるものによって異なります。
Wikipediaより:
- Builder は、複雑なオブジェクトを段階的に構築することに重点を置いています。Abstract Factory は、製品オブジェクトのファミリ (単純または複雑) に重点を置いています。Builder は最終ステップとして製品を返しますが、Abstract Factory に関する限り、製品はすぐに返されます。
- ビルダーは多くの場合、コンポジットを構築します。
- 多くの場合、設計はファクトリー メソッド (複雑さが少なく、カスタマイズ性が高く、サブクラスが増殖する) を使用して開始され、設計者が柔軟性が必要な領域を発見するにつれて、抽象ファクトリー、プロトタイプ、またはビルダー (柔軟性が高く、複雑) へと進化します。
- 作成パターンは補完的である場合もあります。Builder は他のパターンのいずれかを使用して、どのコンポーネントを構築するかを実装できます。Abstract Factory、Builder、および Prototype は、実装でシングルトンを使用できます。
ファクトリー デザイン パターンに関する Wikipedia のエントリ:http://en.wikipedia.org/wiki/ファクトリーメソッドパターン
ビルダー デザイン パターンの Wikipedia エントリ:http://en.wikipedia.org/wiki/ビルダーパターン