设计模式——构建者模式(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();
//构建复杂对像的各个组件
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();
相关文章推荐
- 设计模式中的构建者Builder模式&c++
- 常用设计模式(一)Builder(构建者)模式
- Java/Android 构建者(Builder)设计模式(又叫生成器模式)
- 设计模式-Builder构建者模式
- 设计模式之构建者模式(Builder):初步理解
- 设计模式——__构建者模式 Builder模式
- 设计模式之构建者模式(Builder)
- 设计模式4 - 构建者模式Builder Design Pattern
- 设计模式之构建者(Builder)模式
- 设计模式之构建者Builder模式
- 设计模式学习之构建者模式(Builder)
- Java设计模式--构建者模式(Builder)
- java 的builder模式——设计思想
- java设计模式学习4--Builder Pattern[原创]
- 设计模式——建造者模式(BuilderPattern)
- 设计模式(Builder模式)
- C#设计模式(5)——建造者模式(Builder Pattern)
- 设计模式(3) –建造者模式(Builder)
- builder设计模式
- 设计模式之Builder