设计模式之 建造者模式

建造者模式

类图

四个部分:

  1. 产品类:定义产品有哪些属性或部分,及设置和获取其属性的方法。

  2. 建造抽象类或接口:生成或建造 产品各部分 所对应的操作有哪些?就是在这里声明。

  3. 建造具体实现类:对同一种类但类型不同的产品,各部分具体的生产操作。(如手机是一类产品,那小米、魅族、华为就是一个个具体的产品,各自手机的手机壳、处理器不同,其对应具体的生产操作也会不同)

  4. 导演类(建造者模式的精髓):只负责保证复杂对象各部分被创建或按某种顺序创建。(主要是为了保证可以把建造的过程约束起来.这样建造的时候少任何一个部件都无法建造成功.有点类似标准生产的感觉;例如,生产出一个完整的手机,首先得把处理器安装好,然后再封装手机壳,这两个顺序不可能颠倒吧)

最后,可以通过Director导演类调用其中方法,传入参数从而获取到具体的产品实例。 

建造者模式与工厂模式的区别

       我们可以看到,建造者模式与工厂模式是极为相似的,总体上,建造者模式仅仅只比工厂模式多了一个“导演类”的角色。在建造者模式的类图中,假如把这个导演类看做是最终调用的客户端,那么图中剩余的部分就可以看作是一个简单的工厂模式了。

参考:

  23种设计模式(4):建造者模式  

  java建造者模式--给一个你一看就懂的建造者模式

  建造者模式(Builder Pattern)- 最易懂的设计模式解析 

( 这个模式,能正确理解了原理,那写出来的代码例子都差不多,我暂时就不打算写了,

想看例子的话,推荐 建造者模式(Builder Pattern)- 最易懂的设计模式解析 的例子,相对其他的比较规范点)

共同学习,共同进步,若有补充,欢迎指出,谢谢!

猜你喜欢

转载自www.cnblogs.com/dengguangxue/p/11404224.html