Builder--对象创建型模式
意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
结构图 :

从代码分析参与者
public class BuilderTest {
public static void main(String[] args){
AutoComplete com=new CompleteMethod();
Desinger de=new Desinger(com);
de.consruct(); //对产品过程进行管理
}
}
interface AutoComplete{
public void createZhuban();
public void createXianka();
public Computer getComputer();
}
class CompleteMethod implements AutoComplete{
Part xianka,zhuban;
public void createXianka() { //制作显卡
xianka=new Xianka();
}
public void createZhuban() { //制作主板
zhuban=new Zhuban();
}
public Computer getComputer() { //返回product
Computer co=new Computer();
co.setXianka(xianka);
co.setZhuban(zhuban);
return co;
}
}
class Desinger {
private AutoComplete ac;
public Desinger(AutoComplete ac){
this.ac=ac;
}
public void consruct(){ //对过程进行管理
ac.createXianka();
ac.createZhuban();
}
}
class Computer{
private Part zhuban;
private Part xianka;
public Part getZhuban() {
return zhuban;
}
public void setZhuban(Part zhuban) {
this.zhuban = zhuban;
}
public Part getXianka() {
return xianka;
}
public void setXianka(Part xianka) {
this.xianka = xianka;
}
}
interface Part{
}
class Xianka implements Part{}
class Zhuban implements Part{}
参与者1:产品Product(也就是代码的Computer)
参与者2:产品的构建(也就是代码的Part)
参与者3:协助者,就是进行管理的(也就是代码的Designer)
参与者4:产品产生的过程(也就是代码的CompleteMethod)
为了产生不同的电脑,需要协助者对产品产生的过程进行管理(例如上面,通过创建不同的显卡和主板来实现)
浙公网安备 33010602011771号