`
vvggsky
  • 浏览: 65194 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Builder模式

阅读更多

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模式主要是为了将构建复杂对象的过程和它的部件解耦。使得我们不用去关心每个部件是如何组装的。



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics