java设计模式学习笔记-构建模式

该模式有4个角色:构建工具接口、构建接口实现类、构建类、产品类

1、产品

package model06.create;

public class Car{
	private String engine;
	private String wheel;
	
	protected Car(String enqine, String wheel){
		this.engine = engine;
		this.wheel = wheel;
	}
	
	protected Car(){
	}
	
	public String getEngine(){
		return engine;
	}
	
	public void setEngine(String engine){
		this.engine = engine;
	}
	
	public String getWheel(){
		return this.wheel;
	}
	
	public void setWheel(String wheel){
		this.wheel = wheel;
	}
}

2、构建者工具接口

package model06.create;

public interface Builder{
	public void buildEngine() throws Exception;
	public void buildWheel() throws Exception;
	public Car getCar() throws Exception;
}

3、构建者工具接口的实现

package model06.create;

public class CarBuilder inplements Builder{
	private String engine;
	private String wheel;
	public void buildEngine() throws Exception{
		this.engine = "engine";
	}
	
	public void buildWheel() throws Exceptino{
		this.wheel = "wheel";
	}
	
	public Car getCar() throws Exception{
		return new Car(engine, wheel);
	}
}

4、构建者类

package model06.create;

public class Director{
	public Builder builder;
	public Director(Builder builder){
		this.builder = builder;
	}
	
	public void constrct() throws Exception{
		if(builder == null){
			throw new RuntimeException("no builder");
		}
		builder.buildEngine();
		builder.buildWheel();
	}
}

构造者模式的优缺点

优点

1:建造模式的使用使得产品的内部表象可以独立地变化。使用建造模式可以使客户端不必知道产品内部组成的细节
2:每一个Builder都相对独立,而与其他的Builder无关
3:模式所建造的最终产品更易于控制

缺点

创建者模式比较符合产品差别不大的对象的创建,如果差别很大,就会导致非常多的具体的创建者,这时候最好结合工厂方法模式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章