Builder模式定义:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
刚接触到这个模式的时候,实在搞不明白它的意思,有什么用。于是,上网google了一圈,终于得到这个大家普遍认可的解释:
建造模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们,用户不知道内部的具体构建细节。
下面举一个例子来说明这个模式的使用,代码如下:
import java.util.ArrayList;
interface Builder{
public void buildPartA();
public void buildPartB();
public void buildPartC();
public Product getProduct();
}
class Product{
private ArrayList<String> parts=new ArrayList<String>();
public void add(String part){
parts.add(part);
}
public void show(){
System.out.println("Product有以下几部分构成:");
for(String s:parts){
System.out.println(s);
}
}
}
class Worker implements Builder{
private Product product;
public void buildPartA() {
product=new Product();
product.add("A部分");
}
public void buildPartB() {
product.add("B部分");
}
public void buildPartC(){
product.add("C部分");
}
public Product getProduct(){
return product;
}
}
class Designer{
public void order(Builder builder){
builder.buildPartA();
builder.buildPartB();
builder.buildPartC();
}
}
public class Test {
public static void main(String[] args) {
Designer designer=new Designer();
Builder builder=new Worker();
designer.order(builder);
Product product =builder.getProduct();
product.show();
}
}
输出结果如下:
Product有以下几部分构成:
A部分
B部分
C部分
从这个例子我们可以看出Builder模式,是把建造对象的过程分成一部分一部分来完成的。
小结:Builder模式主要是为了将构建复杂对象的过程和它的部件解耦。使得我们不用去关心每个部件是如何组装的。
分享到:
相关推荐
设计模式学习笔记,分析了GOF的23种模式和类设计的原则
Java设计模式学习笔记
我收集的设计模式的学习笔记,采用pdf格式,便于收藏和查看
各个模式都有详细的例子C#学习笔记,打开就知道了
HeadFirst设计模式学习笔记比较全面详细地讲解了13个设计模式,有利于大家更好的学习HeadFirst设计模式,希望亲们会喜欢~~~
总结了java开发中的21种设计模式,详解和例子,带书签的pdf格式,方便阅读!
设计模式学习笔记.ppt 自己写的一点学习笔记。
设计模式学习笔记,总共23个设计模式,还有几个设计原则
23种设计模式学习笔记及源码,全部原创 欢迎提出意见和建议
Head First 设计模式学习笔记。更多内容请参见文章内容。
学习Java设计模式的笔记,标注了其中重要的要点,如果有需要的小伙伴,自行下载哦
设计模式学习笔记--Flyweight享元模式.docx设计模式学习笔记--Flyweight享元模式.docx设计模式学习笔记--Flyweight享元模式.docx设计模式学习笔记--Flyweight享元模式.docx设计模式学习笔记--Flyweight享元模式.docx
代理模式学习笔记、单例模式学习笔记、命令模式、原型模式、模式特点总结。 为个人对设计模式的理解,如果有理解不一致的不要砸砖啊
pb学习笔记(powerbuilder实用技巧 PB应用技巧).rar pb学习笔记(powerbuilder实用技巧 PB应用技巧).rar pb学习笔记(powerbuilder实用技巧 PB应用技巧).rar pb学习笔记(powerbuilder实用技巧 PB应用技巧).rar ...
HeadFirst 设计模式学习笔记2--观察者模式 demo http://blog.csdn.net/laszloyu/archive/2010/05/12/5581769.aspx
设计模式学习笔记-命令模式
学习设计模式入门的好材料 简单明了,一看就懂 帮助你快速学习或是复习23种设计模式
共150讲,时长共 33...1) 内容包括: 设计模式七大原则(单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特法则、合成复用)、UML类图(类的依赖、泛化和实现、类的关联、聚合和组合) 23种设计模式包括...
Head.First 设计模式学习笔记.pdf Head.First 设计模式学习笔记.pdf
java设计模式的学习笔记,其中包含各种模式的代码实现