建造者模式(Builder)
适用情况:要建造一个复杂的产品,有很多的子组件构成,需要将子组件按照一定步骤装配在一起。
本质:分离对象子组件的单独构造(Builder负责)和装配(Director负责)。适用于某个对象构建过程复杂的情况。
一般建造者模式和工厂模式搭配使用。
假设场景:构建一个XX牌宇宙飞船,包含发动机,轨道舱,逃逸塔,且需要按顺序进行装配。
创建一个宇宙飞船类,它包含三个私有field,属于飞船的三个组件(目前每个组件中只包含一个name属性),包含一个launch方法:
public class AirShip {
private OrbitalModule orbitalModule; //轨道舱
private Engine engine; //发动机
private EscapeTower escapeTower; //逃逸塔
public void launch() {
System.out.println("发射!");
}
public OrbitalModule getOrbitalModule() {
return orbitalModule;
}
public void setOrbitalModule(OrbitalModule orbitalModule) {
this.orbitalModule = orbitalModule;
}
public Engine getEngine() {
return engine;
}
public void setEngine(Engine engine) {
this.engine = engine;
}
public EscapeTower getEscapeTower() {
return escapeTower;
}
public void