package com.example.designmodel;
/**
* 建造者模式
*/
public class BuilderModel {
//抽象车辆建造者
public interface CarBuilder{
String sprayPaint();
String makeWheel();
String engine();
String assembly();
}
//红色车建造者
public class RedCarBuilder implements CarBuilder{
@Override
public String sprayPaint() {
return "red";
}
@Override
public String makeWheel() {
return "bigWheel";
}
@Override
public String engine() {
return "V5";
}
@Override
public String assembly() {
return "color:"+sprayPaint()+"&wheel:"+makeWheel()+"&engine:"+engine();
}
}
//执行组装
public class Director{
private CarBuilder carBuilder;
public Director(CarBuilder carBuilder){
this.carBuilder = carBuilder;
}
public void construct(){
System.out.println(carBuilder.assembly());
}
}
public static void main(String[] args){
BuilderModel builderModel = new BuilderModel();
RedCarBuilder redCarBuilder = builderModel.new RedCarBuilder();
Director director = builderModel.new Director(redCarBuilder);
director.construct();
}
}
建造者模式
最新推荐文章于 2024-09-04 18:09:45 发布