在构造一个对象的时候,往往有很多复杂的过程和次序,例如建造一个机器人,那要先造头,还是要先造身子,这就关乎到一个制造工序的问题。其实建造者模式和工厂模式是很接近的,但是,建造者模式提供了一个更加细粒度的对象的建造过程。对应的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();
}
}
这样,我们只要构造不同的构造者,就会有不同的建造过程。
阅读(3763) | 评论(0) | 转发(0) |