设计模式 创建者模式 -- 建造者模式扩展: 指挥者类的深入探究(钩子函数引入)& 创建者模式对比

Posted Z && Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式 创建者模式 -- 建造者模式扩展: 指挥者类的深入探究(钩子函数引入)& 创建者模式对比相关的知识,希望对你有一定的参考价值。

1. 指挥者类的深入探究(钩子函数引入)


1.1 实例


1.2 实例类图

类图说明:


1.3 钩子方法引入



通过钩子方法来控制产品的构建:


2. 创建者模式对比


2.1 工厂方法模式 vs 建造者模式

工厂方法模式注重的是整体对象的创建方式;而建造者模式注重的是部件构建的过程,意在通过一步一步地精确构造创建出一个复杂的对象。

举例:

我们举个简单例子来说明两者的差异,如要制造一个超人,如果使用工厂方法模式,直接产生出来的就是一个力大无穷、能够飞翔、内裤外穿的超人;而如果使用建造者模式,则需要组装手、头、脚、躯干等部分,然后再把内裤外穿,于是一个超人就诞生了。


2.2 抽象工厂模式 vs 建造者模式

抽象工厂模式实现对产品家族的创建,一个产品家族是这样的一系列产品:具有不同分类维度的产品组合,采用抽象工厂模式则是不需要关心构建过程,只关心什么产品由什么工厂生产即可。建造者模式则是要求按照指定的蓝图建造产品,它的主要目的是通过组装零配件而产生一个新产品。如果将抽象工厂模式看成汽车配件生产工厂,生产一个产品族的产品,那么建造者模式就是一个汽车组装工厂,通过对部件的组装可以返回一辆完整的汽车。



以上是关于设计模式 创建者模式 -- 建造者模式扩展: 指挥者类的深入探究(钩子函数引入)& 创建者模式对比的主要内容,如果未能解决你的问题,请参考以下文章

通过KFC例子分析建造者模式

创建者模式-建造者模式

JavaScript设计模式创建型设计模式--建造者模式

设计模式之建造者模式(创建型)

23种设计模式--建造者模式-Builder Pattern

设计模式 创建者模式 -- 建造者模式