设计模式-创建型模式-建造者模式
建造者模式即生成器模式,将一个复杂的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
代码如下
// 产品类
public class Product{
public void doSomething(){
// 业务处理
}
}
// 抽象建造者
public abstract class Builder {
// 设置产品,获得不同的产品
public abstract void setPart();
// 建造产品
public abstract Product buildProduct();
}
// 具体的建造
public class ConcreteProduct extends Builder {
private Product product = new Product(); // 新建产品
// 设置产品
public void setPart(){
// 产品设置,对product进行设置
}
// 进行产品组建
public Product buildProduct(){
return product;
}
}
设置导演
public class Diector{
private Builder builder = new ConcreteProduct(); // 新建一个具体建造
// 构建产品
public Product getAProduct(){
builder.setPart(); // 对要生产的产品进行设置
return builder.buildProduct(); // 生产出产品
}
}
总结
建造者模式,即要对产品进行设置,进行生产,然后由一个导演将这些内容封装到一个方法里,然后使用即可。
应用
游戏软件,地图包括天空,地面,背景等组成,人物也由这些组成,使用建造者模式,首先将天空,地面,背景,作为产品,设计一个类,然后,设置建造者,根据不同的情况设置不同的地图,不同的地面,将设置参数传入,然后最后导演,将这些方法封装成一个方法,然后直接get即可得到一幅地图。
人物也是如此。