作成モード

導入
内部データに従ってむしろものよりも複雑な(例えば、種々の属性は値のみを設定するためのコードを記述するもの、大きな塊で行うことができる)場合クラスであり、またそのようなオブジェクトを作成するときに作成者モードを使用することができます異なるシナリオのさまざまなを作成し、プロパティの型は基本的に同じである、この時はああも、それがどのようにの作成をステップバイステップで作成するか、このクラスに関するデータを管理するための別の方法をしたいものの種類、およびコードの可読性を望んでいました私は、これはアプリケーションシナリオビルダー、ビルダーのモデルが構築され、分離のクラスを表すことができるのモードであり、私も十分に設定されて何をしたい、ああ目がくらむさせないでください。

 


私はあなたが作成者であるかを説明するために皆のための人気のライブシーンをシミュレートするために、引き続きテキストを参照してくださいする前に。

シーン:商業および住宅の建築デザイン会社のデザインを探して成り上がり、我々はこれら2つのオブジェクトであることを前提とし、このような要望に材料、床、構造、設計図面や企業と、同じ商業用および居住用不動産を持っています建設部門、建設ユニットに商業および住宅デザイン会社を設計するために建設会社を完了するために必要としては非常に成り上がりにこれら二つのオブジェクトに満足しています。かかわらず、実際の状況の、上記のシナリオでは、新興企業は、建設ユニットは、レンガでレンガを建てた労働者は、彼が唯一のデザイン会社のニーズが言及して心配していたこの建物を心配する必要はありません、デザイン会社はそう、彼に会うだろうこのプロセスは、ユーザと建設プロセスの詳細を遮蔽します。

したがって、我々はそのモデルビルダーを締結します

該当シーン
の分離で、複雑なオブジェクトの作成と使用の。
複数の部材は、1つのオブジェクトに嵌合させることができるが、演算結果が同一ではありません。
オブジェクトまたはオブジェクトが異なるため、呼び出しシーケンスの非常に複雑であり、異なる効果を生み出します。
オブジェクトが初期化されている場合は、あまりにも多くのパラメータ、または多くのパラメータはデフォルト値を持っています。
小さな被写体のための違いを作成し、強い共通性を持つオブジェクト。
 

主な役割は
建設プロセスを心配すると、オブジェクトの詳細は、あなたが直接、複雑なオブジェクトを作成することができたユーザーなし。
複雑なオブジェクトのユーザーが作成した多くの類似または同一の特性。
コードの&カプセルの再利用。
 

ビルダーパターンの主な役割は
、製品の役割(製品):これは、複数のコンポーネントと属性が含まれている複雑なオブジェクトでは、モデルです。

抽象ビルダー(ビルダー):これは、各サブコンポーネント製品インタフェースまたは抽象クラスの抽象メソッドを作成含まれ、典型的には別の方法を含み、その方法は、一般的に抽象とリターンタイプの製品ロール(製品)である戻る複雑な製品、 。

具体的なビルダー(コンクリートビルダ):ビルダービルダーのインタフェースを実現するか、抽象クラスを継承し、複雑な製品の具体的な個々のコンポーネントを達成するためのメソッドを作成します。

ディレクター(監督):これは、製品の具体的な設計の詳細を構築していない、複雑なオブジェクトの作成を完了しているビルダーコンポーネントの建設と組み立て方法(ビルダー)を呼び出します。

要約:

クライアントは、製品の内部構成の詳細を知る必要はありません可能Builderパターンを使用してください。特定建築者、および特定のビルダーの間には依存関係を拡大するための簡単。しかし、欠点は、ファクトリメソッドまたは抽象工場を使用することができ、このような状況を打破したい、私たちは工場出荷時のパターンを発見していないとビルダーは、いくつかの共通点を行い、具体的なビルダーのすべてがモデルを共有するために、同じ製品の属性を使用する必要があり、明白です。

動画のリンク:https://www.bilibili.com/video/BV1ja4y1t7mU/

おすすめ

転載: www.cnblogs.com/llfnpbd/p/12587717.html