package com.cheng.zenofdesignpatterns.patternpk.creational.factory_vs_builder.builder;
/**
* 抽象建造者
*/
public abstract class Builder {
// 定义一个超人的应用
protected final SuperMan superMan = new SuperMan();
// 构建出超人的躯体
public void setBody(String body){
this.superMan.setBody(body);
}
// 构建出超人的特殊技能
public void setSpecialTalent(String st){
this.superMan.setSpecialTalent(st);
}
// 构建出超人的特殊标记
public void setSpecialSymbol(String ss){
this.superMan.setSpecialSymbol(ss);
}
// 构建出完整的一个超人
public abstract SuperMan getSuperMan();
/**
* 注意
* 仔细看两个具体的建造者,它们都关注了产品的各个部分,在某些应用场景下甚至会
* 关心产品的构建顺序,即使是相同的部件,装配顺序不同,产生的结果也不同,这也
* 正是建造者模式的意图:通过不同的部件、不同装配产生不同的复杂对象。
*/
}