GoF设计模式:BuliderParttern建造者模式
建造者模式定义:将一个复杂的对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。将复杂的对象一步一步的创建。
建造者模式包含的角色:
- Bulider抽象建造者:抽象建造者为一个产品Product对象的各个部件指定抽象接口,如:buliderPartA(),或者是得到一个复杂对象getResult()。
- ConcreteBuilder具体创建者:具体创建者顾名思义就是实现抽象创建者定义的各个接口和抽象方法,或者是提供一个方法返回创建好的复杂对象。
- Product产品角色:产品角色是被构建的复杂对象,包含多个组件构成,具体创建者创建该产品的内部表示并定义它的装备过程。
- Director指挥者:又叫做导演类,负责安培复杂对象的建造次序,指挥者与抽象建造者之间存在关联关系,可以在其construct()建造方法中调用建造者对象的部件构造与装配方法,完成复杂对象的建造。
- 5.
接下来我们来看一个例子:
某游戏软件中人物角色包括多种类型,不同类型的人物角色,其性别、脸型、服装、发型等外部特性有所差异,使用建造者模式创建人物角色对象,要求绘制类图并编程实现
public class Role {
private String sex;
private String face;
private String clothing;
private String hairStyle;
public void setSex(final String sex) {
this.sex = sex;
}
public void setFace(final String face) {
this.face = face;
}
public void setClothing(final String clothing) {
this.clothing = clothing;
}
public void setHairStyle(final String hair