ディレクトリ
まず、なぜBuilderパターンを使用
ビルダーとそのモードが設定部材とすることができるが
、複雑なオブジェクトを作成するために、段階的に別個のプロセスマウント
。ユーザニーズのみ指定複合
オブジェクトのオブジェクト・タイプは、その内部構造の特定の詳細を知らなくても、得ることができます。
第二に、スキーマ定義
ビルダーモード
(パターンビルダ)
:
複雑なオブジェクトの構造は、
構築され、それが単離さ手段
ので、
同じプロセスを異なる作成できる構築
表現を
。
Builderパターンがある
複雑なオブジェクトを作成するためのステップバイステップで
、それができます
あなたが唯一の複雑なオブジェクトの種類と内容を指定することによって、彼らの家族を構築するために、
ユーザは、建設の具体的な詳細を知る必要はありません。属しBuilderパターン
オブジェクトの作成スキーマ。Builderパターンの中国語の翻訳に応じて、および
発電機モードとして知られているかもしれません。
第三に、モデル構造
ビルダー・モードは、次の役割が含まれています。
•
ビルダ
:抽象ビルダー
•
ConcreteBuilder
:コンクリートビルダー
•
監督:ディレクター(1手、それは
顧客と生産分離
プロセスを
、他方では、ある
製品の生成プロセスを制御するための責任
)
•
製品
:製品の役割
第四に、モデルの利点
•
ビルダーモードでは、
クライアントは、製品の内部構成の詳細を知っている必要があり、製品自体や製品を作成するプロセスは、同じ作成プロセスが異なる製品のオブジェクトを作成することができるように切り離されていません
。
•
各特定のビルダーは、それが簡単に特定のビルダーを交換するか、新しいコンクリートのビルダーを追加することができますので、関係なく、他の特定のビルダーの、比較的独立している
ユーザーが異なる特定のビルダーを使用すると、異なる製品のターゲットを得ることができます
。
•
より細かく製品の作成プロセスを制御することができます。
より明確かつ簡単なの作成は、作成プロセスを制御するためのプログラムを使用するように、さまざまな方法で複雑な分解生成物を生成するステップ。
•
に沿って、抽象ビルダークラスのプログラミングシステム用の拡張クラスの指揮官を容易にするために、元のクラスライブラリのコードを変更せずに、新たな具体的なビルダーを追加「開閉の原則。」
第五に、モードの欠点
•
類似の一部である製品は、一般的に、より一般的に持って作成されたBuilderパターン、
素晴らしい製品との違いは、Builderパターンを使用するのに適していない場合は、
その使用は、一定の制限の対象となります
。
•
製品の複雑における内部変化した場合、システムは非常に大きくなることを引き起こし、この変更を実装するための具体的なビルダークラスを定義する必要性の多くを引き起こす可能性が
。
環境のために第六に、
•
製品やオブジェクトを生成する必要が複雑な内部構造を持って
、これらの製品は、多くの場合、複数のメンバオブジェクトの属性が含まれています。
•
プロパティは、あなたが彼らの世代の順序を指定する必要があり、製品の相互依存のオブジェクトを生成する必要があります
。
•
オブジェクトのクラスの独立したオブジェクトを作成するためのプロセスを作成します
。ディレクターのカテゴリに導入Builderパターンでは、指揮官の作成プロセスは、むしろビルダーよりも、クラスにカプセル化。
•
アイソレーションが複雑なオブジェクトを作成して使用し、同じ作成プロセスが異なる製品を作成することができます