建造者模式是将对象复杂的构建过程封装起来,客户端通过选择不同的构建者来构想自己想要的对象
类图
示例
我们来写一个动物的构建者
public abstract class AbstractAnimal {
// 构造头
void buildHead(){
}
// 构造脚
void buildFoot(){
}
// 构造尾巴
void buildTail(){
}
// 得到构造好的动物
abstract Animal build();
}
猪构建者:
public class PigBuilder extends AbstractAnimal{
@overrite
void build(){
buildHead();
buildFoot();
buildTail();
}
}
熊构建者:
public class BearBuilder extends AbstractAnimal{
@overrite
void build(){
buildHead();
buildFoot();
// 熊没有尾巴,无需要构造尾巴
}
}