package builder01;
import java.awt.Panel;
//场景:系统有四个小模块组成,计算器
//面向接口编程,Director and Builder 降低耦合
public class Builder1 {
}
interface IBuilder {
public abstract Panel getPanel1();
public abstract Panel getPanel2();
public abstract Panel getPanel3();
public abstract Panel getPanel4();
}
class Builder implements IBuilder {//负责各个模块的生成,修改时只需要修改相应的函数
public Panel getPanel1() {
Panel p1 = new Panel();
return p1;
}
public Panel getPanel2() {
Panel p2 = new Panel();
return p2;
}
public Panel getPanel3() {
Panel p3 = new Panel();
return p3;
}
public Panel getPanel4() {
Panel p4 = new Panel();
return p4;
}
}
class Director {
private IBuilder builder;//spring注入
public Director(IBuilder builder) {
this.builder = builder;
}
public void contruct() {
//Builder builder = new Builder();
Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
Panel p4 = new Panel();
}
}
/**
* 优点:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。
*
* 应用:一个复杂对象由多个部件组成,并且改变的机会比较大时。
*/
import java.awt.Panel;
//场景:系统有四个小模块组成,计算器
//面向接口编程,Director and Builder 降低耦合
public class Builder1 {
}
interface IBuilder {
public abstract Panel getPanel1();
public abstract Panel getPanel2();
public abstract Panel getPanel3();
public abstract Panel getPanel4();
}
class Builder implements IBuilder {//负责各个模块的生成,修改时只需要修改相应的函数
public Panel getPanel1() {
Panel p1 = new Panel();
return p1;
}
public Panel getPanel2() {
Panel p2 = new Panel();
return p2;
}
public Panel getPanel3() {
Panel p3 = new Panel();
return p3;
}
public Panel getPanel4() {
Panel p4 = new Panel();
return p4;
}
}
class Director {
private IBuilder builder;//spring注入
public Director(IBuilder builder) {
this.builder = builder;
}
public void contruct() {
//Builder builder = new Builder();
Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
Panel p4 = new Panel();
}
}
/**
* 优点:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。
*
* 应用:一个复杂对象由多个部件组成,并且改变的机会比较大时。
*/