首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计方式学习笔记(十二)—Builder建造者模式

2012-09-06 
设计模式学习笔记(十二)—Builder建造者模式Builder模式定义:将一个复杂对象的构建与它的表示分离,使得同样

设计模式学习笔记(十二)—Builder建造者模式
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模式主要是为了将构建复杂对象的过程和它的部件解耦。使得我们不用去关心每个部件是如何组装的。

热点排行