ビルダー(ビルダー)デザインパターン
その理由1.0.0生成されたモデルビルダー
一部のクラスは、別の機会に応じて異なる初期化を必要とするので、特に複雑なときに、クラスのデータでは、長い時間がかかるクラスを作成します。クラス構造の下で、複雑困難で初期化され、カプセル化されたクラスを作成するステップは、安定性を改善するために、作業負荷を低減することができます。これが理由ビルダーモードです。
Builderパターンは何2.0.0?
構築と同様の処理が異なる表現を作成構築することができるように、複雑なオブジェクトを表すオブジェクトを分離します。
使用シナリオの3.0.0建設モード
- (初期化するために、多くのパラメータ、およびより困難な)複雑なオブジェクトを作成します--->パッケージを作成します。
4.0.0オブジェクトモデルビルダー
- 製品オブジェクト
- 抽象ビルダー
- 具体的なビルダー
- ディレクター
一般的な実装5.0.0ビルダーモード
@Slf4j
public class BuilderPattern {
class CarDirector {
private IBuilder builder;
public CarDirector(IBuilder builder) {this.builder = builder;}
public Car construct() {
builder.buildWheel();
builder.buildBody();
builder.buildEngine();
return builder.build();
}
}
interface IBuilder {
void buildWheel();
void buildBody();
void buildEngine();
Car build();
}
class CarBuilder implements IBuilder {
private Car car = new Car();
@Override
public void buildWheel() {car.setWheel("wheel");}
@Override
public void buildBody() {car.setWheel("body");}
@Override
public void buildEngine() {car.setWheel("engine");}
@Override
public Car build() {return car;}
}
@Setter
class Car {
private String wheel;
private String body;
private String engine;
}
}
Builderパターンと6.0.0と工場出荷時のモードとの違いを連絡します
- ファクトリーモード - >配信設備を作成するために作成だけでなく、製品ライン/製品
ビルダーモード - >製品の組立工程、第1のねじを取って、ワイヤー後にインストール....
- Factoryパターン:会長は、サブ製品の工場の製品の異なる割り当てに従って、製品の数を行います。
- Builderパターン:製品の組立ライン、さまざまなニーズに応じて行の長さ、製品を組み立てる人の異なる配置。
異なる高さ!!!会長と長い行の違い