java设计模式之生成器模式
2018-03-10 15:33
288 查看
设计模式之生成器模式(Builder Pattern):https://www.jianshu.com/p/f4248525e2d1
设计模式之–生成器模式与抽象工厂模式的比较:http://blog.csdn.net/hawksoft/article/details/6626775
(1)定义一个产品类(虽然产品类只有一个,但组成产品类的组件却是会变化的,就好比都是同一品牌类型的电脑,但是它们的配置却是不一样的。)
(2)定义n个产品生成器XXBuild类,它们实现了一个共同的生成器接口IBuild。
(3)定义一个统一调度类Director,它是对生成器接口IBuild的封装。
设计模式之–生成器模式与抽象工厂模式的比较:http://blog.csdn.net/hawksoft/article/details/6626775
(1)定义一个产品类(虽然产品类只有一个,但组成产品类的组件却是会变化的,就好比都是同一品牌类型的电脑,但是它们的配置却是不一样的。)
//组件(子对象)1、2、3 public class Unit1{...} public class Unit2{...} public class Unit3{...} //产品(复杂对象) public class Product{ Unit1 u1; Unit2 u2; Unit3 u3; }
(2)定义n个产品生成器XXBuild类,它们实现了一个共同的生成器接口IBuild。
//一、定义一个共同的生成器接口IBuild,它是将所有组件的抽象创建方法和复杂对象的抽象创建方法封装起来了。 public interface IBuild{ //所有组件的抽象创建方法 public void createUnit1(); public void createUnit2(); public void createUnit3(); //复杂对象的抽象创建方法 public Product composite(); }
//二、定义n个产品生成器类 public class XXBuild implements IBuild{ Product p = new Product; public void createUnit1(){p.u1 = ...} public void createUnit2(){p.u2 = ...} public void createUnit3(){p.u3 = ...} public Product composite(){ ...//关联Unit1、Unit2、Unit3 return p; //返回复杂对象p } }
(3)定义一个统一调度类Director,它是对生成器接口IBuild的封装。
public class Director{ private IBuild ibuild; public Director(IBuild ibuild){ this.ibuild = ibuild; } public Product build(){ ibuild.createUnit1(); ibuild.createUnit2(); ibuild.createUnit3(); return ibuild.composite(); } //测试 public static void main(String[] args){ IBuild build = XXBuild(); Director director = new Director(build); Product p = director.build(); } }
相关文章推荐
- 读书笔记_java设计模式深入研究 第四章 生成器模式 (建造者模式) Builder
- Java设计模式--生成器模式
- java设计模式之生成器
- Java设计模式之从[Dota的武器创建]分析生成器(Builder)模式
- 23种经典设计模式的java实现之生成器模式
- Java设计模式04--建造者(生成器)模式
- Java设计模式:生成器模式
- java设计模式 之生成器模式 Builder
- Java设计模式_创建模式_生成器模式
- Java设计模式:生成器模式
- Java设计模式:九、生成器模式
- Java设计模式-Builder生成器模式
- java设计模式学习—生成器(Builder)
- 23种设计模式(4) java生成器模式
- java设计模式之生成器模式
- JAVA设计模式之生成器模式
- java 设计模式之生成器模式
- java设计模式【全】-生成器模式
- java设计模式之生成器模式
- Java设计模式之享元模式