您的位置:首页 > 其它

23种设计模式学习之:建造者模式

2019-06-07 23:01 204 查看

建造者模式:

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

java例子:

//Car产品类

public class Car {
List<String> parts = new ArrayList<String>();
public void add(String part){
parts.add(part);
}
public void show(){
System.out.println("-----建造汽车-----");
for(String st:parts){
System.out.println(st);
}
}
}

//抽象建造者类

public abstract class Builder {
//建造发动机
public abstract void builderEngine();
//建造底盘
public abstract void builderChassis();
//建造车身
public abstract void builderCarBody();
//建造结果
public abstract Car getResult();
}

//具体建造者类

public class CarBuilder extends Builder{
private Car car = new Car();
@Override
public void builderEngine() {
car.add("发动机:2.0T");
}
@Override
public void builderChassis() {
car.add("底盘:离地高度10cm");
}
@Override
public void builderCarBody() {
car.add("车身:白色车身");
}
@Override
public Car getResult() {
return car;
}
}

//指挥者类

public class Director {
public void Construct(Builder builder){
builder.builderChassis();
builder.builderEngine();
builder.builderCarBody();
}
}

//测试

public class BuilderTest {
public static void main(String[] args){
Director director = new Director();
Builder builder = new CarBuilder();
director.Construct(builder);
Car car = builder.getResult();
car.show();
}
}

//结果

-----建造汽车-----
底盘:离地高度10cm
发动机:2.0T
车身:白色车身
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: