ビルダーモデルは、複雑なオブジェクトの構築を目的としています。たとえば、製品は複数の部品で構成され、各部品は個別に生産できます。この時点で、ビルダーモデルを使用してビルダーによって製品の各部分を構築することができ、ディレクターは最終製品のアセンブリを完成させます。
特徴:
1.分業はより明確であり、組織と構造は分離されており、製品の生産をよりよく制御できます。
2。拡張が簡単です。新しいニーズがある場合は、ビルダーの言い訳を実装するだけです。
エンタープライズレベルの開発および一般的に使用されるフレームワークのアプリケーション:Jmail
作曲:製品カテゴリ、抽象ビルダー、ビルダー、ディレクター。
製品カテゴリ:
パブリッククラス製品{プライベートストリングパルタ; //製品の一部は、実際の開発でクラスのプライベートストリングパートBに対応できます; //製品の一部は、実際の開発におけるクラスのプライベートストリングパートに対応できます。抽象ビルダー:
//抽象クラスのパブリックインターフェイスビルダー{public void setParta(String PARTA); public void setPartb(String Partb); public void setPartc(string partc);}ビルダー実装クラス:
Public Class BuilderimplはBuilderを実装しています{プライベート製品製品; public builderimpl(){product = new Product(); } public void builderparta(){string parta = new String(); //工場メソッドの一部をシミュレートするようにgrodic.setParta(PARTA); } public void builderpartb(){string partb = new String(); //工場メソッドの一部をシミュレートするようにductument rudce.setPartB(PARTB); } public void setPartc(){string partc = new String(); // Factory Methodの製品生産の一部をシミュレートします。 } public製品getProduct(){return this.product; }}ディレクターカテゴリ:
パブリッククラスディレクター{プライベートビルダーB;パブリックディレクター(ビルダーnewb){this.b = newb; } public void createbuilder(ビルダーB){this.b = b; } public製品constructproduct(){b.builderparta(); b.builderpartb(); b.builderpartc(); }}テストクラス:
public class demo {public static void main(string [] args){builder b = new builderimpl();ディレクターD =新しいディレクター(); D.CreateBuilder(b);製品P = C.ConstructProduct(); }}上記の例から、ディレクタークラスを実装すると、ディレクタークラスが製品のアセンブリを制御するため、別の異なる製品を組み立てることが完全に可能であることを見つけることは難しくありません。同様に、抽象的な建設クラスを再実装すると、まったく異なる製品も現れる可能性があります。したがって、ビルダーモデルはより抽象的でプロセス指向であることがわかります。
抽象的な工場モデルと比較して、2つが驚くほど似ていることを見つけることは難しくありませんが、なぜ2つの異なる設計モデルがあるのですか?実際、製品の複雑さと抽象化に焦点が当てられています。ビルダーモデルは、抽象的な工場モデルよりも抽象的で複雑です。つまり、ビルダーモデルが扱う製品は、抽象的な工場で扱う製品よりも複雑であり、同時に、製品の生産プロセスはより長く抽象的です。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。