版权声明:本文为博主原创,转载请注明出处。 https://blog.csdn.net/u011848397/article/details/88931341
参考文章:https://www.cnblogs.com/kangsir/p/6653233.html , https://www.cnblogs.com/snailclimb/p/builderpattern.html
练习源码:https://github.com/liaoooyx/Design-Patterns
相似点:
两者都将具体的、复杂的构建细节隐藏,并通过接口和抽象类实现解耦。
不同点:
- 建造者模式的目的:需要一步一步构建出一个复杂的对象,但将具体的构建细节隐藏。
- 工厂模式的目的:需要构建的产品(对象)或产品系列种类繁多(有许多子类)且功能相似(抽象类/接口),因此通过不同的工厂来创建不同的产品(对象)或产品系列。
建造者模式使用场景:
- 需要生成的对象具有复杂的内部结构。
- 需要生成的对象内部属性本身相互依赖。