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)

  为了产生不同的电脑,需要协助者对产品产生的过程进行管理(例如上面,通过创建不同的显卡和主板来实现)

posted @ 2011-06-30 23:25  我滴地盘在哪  阅读(294)  评论(0)    收藏  举报