您的位置:首页 > 产品设计 > UI/UE

设计模式——构建者模式(Builder)

2009-07-25 11:32 344 查看
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.假设一个复杂对象是由多个部件组成的,Builder 模式是把复杂对象的创建和部件的创建分别开来,分别用Builder 类和Director 类来表示

//构建复杂对像的各个组件

public interface Builder {
//创建部件A 比如创建汽车车轮
void buildPartA();
//创建部件B 比如创建汽车方向盘
void buildPartB();
//创建部件C 比如创建汽车发动机
void buildPartC();
//返回最后组装成品结果 (返回最后装配好的汽车)
//成品的组装过程不在这里进行,而是转移到下面的Director 类中进行.
//从而实现了解耦过程和部件
Product getResult();
}

//组装复杂对象

public class Director {
private Builder builder;
public Director( Builder builder ) {
this.builder = builder;
}
// 将部件partA partB partC 最后组成复杂对象
//这里是将车轮 方向盘和发动机组装成汽车的过程
public void construct() {
builder.buildPartA();
builder.buildPartB();
builder.buildPartC();
}
}

//构造组装对象个组件

public class ConcreteBuilder implements Builder {
Part partA, partB, partC;
public void buildPartA() {
//这里是具体如何构建partA 的代码
}
public void buildPartB() {
//这里是具体如何构建partB 的代码
}; public void buildPartC() {
//这里是具体如何构建partB 的代码
}
public Product getResult() {
//返回最后组装成品结果
}
}

//生成要获得的复杂对象

ConcreteBuilder builder = new ConcreteBuilder();
Director director = new Director( builder );
director.construct();
Product product = builder.getResult();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: