java设计模式学习笔记-构建模式
2013-12-24 14:39
459 查看
该模式有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:模式所建造的最终产品更易于控制
缺点
创建者模式比较符合产品差别不大的对象的创建,如果差别很大,就会导致非常多的具体的创建者,这时候最好结合工厂方法模式相关文章推荐
- java 设计模式学习笔记十四 template模版模式
- 学习笔记_Java_day12_设计模式MVC(13).JavaWeb的三层框架(14)
- java 设计模式学习笔记十六 chain of responsibility 职责链设计模式
- 黑马程序员------java学习笔记之单例设计模式
- 《企业集成模式.设计、构建及部署消息传递解决方案》学习笔记
- java/android 设计模式学习笔记(18)---中介者模式
- Java设计模式--单例模式学习笔记
- java 设计模式学习笔记二 工厂模式Factory
- Java-马士兵设计模式学习笔记-代理模式-动态代理 修改成可以任意修改代理逻辑
- java 设计模式学习笔记七 facade外观模式
- Java学习笔记---设计模式工厂方法模式
- java 设计模式学习笔记十一flyweight享元设计模式
- java 设计模式学习笔记九 decorator装饰模式
- 设计模式学习笔记之单例模式(Java实现)
- Java学习笔记 - 单例设计模式 (一)
- 设计模式学习笔记---代理模式Proxy(Java版)
- java核心基础学习笔记-------设计模式之单例设计模式
- java 设计模式 学习笔记 (2) - 工厂方法模式
- java 设计模式 学习笔记(3) 抽象工厂模式
- 学习笔记——JAVA设计模式<17>访问者模式