Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1148625
  • 博文数量: 103
  • 博客积分: 1897
  • 博客等级: 上尉
  • 技术积分: 1717
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-19 21:02
文章分类

全部博文(103)

文章存档

2013年(19)

2012年(84)

分类: Java

2012-10-06 22:45:59

在构造一个对象的时候,往往有很多复杂的过程和次序,例如建造一个机器人,那要先造头,还是要先造身子,这就关乎到一个制造工序的问题。其实建造者模式和工厂模式是很接近的,但是,建造者模式提供了一个更加细粒度的对象的建造过程。对应的UML图如下:


首先,我们要先创建一个需要建造的对象。
//要构造的对象
public class Robust {
String head;
String body;
public String getHead() {
return head;
}
public void setHead(String head) {
this.head = head;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}

}
然后有一个构造者的接口,其中包括了建造者会使用的建造过程。
public interface Builder {

public void buidBody(String body);
public void voidHead(String head);
public Robust getRobust();
}
public class RobustBuilder implements Builder {

Robust robust = new Robust();


@Override
public void buidBody(String body) {
// TODO Auto-generated method stub
robust.setBody(body);
}

@Override
public void voidHead(String head) {
// TODO Auto-generated method stub
robust.setHead(head);
}

@Override
public Robust getRobust() {
// TODO Auto-generated method stub
return robust;
}

}
有了建造者之后,需要有一个指挥家来指示建造的过程。
//指挥建造的类
public class Director {

 public Robust Construct(Builder builder){
builder.buidBody(null);
builder.buidBody(null);
return builder.getRobust();
 }
}
这样,我们只要构造不同的构造者,就会有不同的建造过程。




阅读(3771) | 评论(0) | 转发(0) |
0

上一篇:抽象工厂方法

下一篇:prototype模式

给主人留下些什么吧!~~