package com.donnie;
import java.awt.Panel;
/*建造模式:首先假设一个复杂对像由多个模块组成,并且改变的机会大
* Builder模式是把复杂对象的创建 和模块的创建分别开来
* */
//假如系统有多个模块组成
class Builder1 implements IBuilder { //builder负表各个模块的生成
public Panel getmodel1(){
Panel m1=null;
return m1;
}
public Panel getmodel2(){
Panel m2=null;
return m2;
}
public Panel getmodel3(){
Panel m3=null;
return m3;
}
}
interface IBuilder{ //面象接口编程,降低藕合性
public abstract Panel getmodel1();
public Panel getmodel2();
public Panel getmodel3();
}
class Director{
private IBuilder builder1; //用spring可以做注入
public Director(IBuilder builder1){
this.builder1=builder1;
}
public void contruct(){
Panel p1=builder1.getmodel1();
Panel p2=builder1.getmodel2();
Panel p3=builder1.getmodel3();
//模块组合
}
}
public class Builder {
}