创建者模式都有什么优缺点?创建者模式和工厂模式都有哪些区别?

科技主编 2024-04-26 17:14:04

创建者模式将一个复杂对象的创建和他的表示分离,使用同样的创建过程可以创建不同的表示。那么,创建者模式都有什么优缺点?和工厂模式都有哪些区别?接下来一起随小编来看看吧!

创建者模式的优点:

封装性好。将复杂对象的创建过程封装,调用者不需要关心创建的过程。

拓展性好。如果有新的产品,只需要增加一个产品创建者,而不用修改已有的代码。

创建者模式的缺点:

虽然利用创建者模式可以创建出不同类型的产品,但是如果产品之间的差异巨大,则需要编写多个创建者类才能实现,如果这是结合工厂模式更好。

创建者模式和工厂模式的区别:

可以发现,创建者模式和工厂模式很相似,都是用来创建对象实例,区别是创建者模式多了个导演类。

与工厂模式相比,创建者模式主要用来创建比较复杂的对象。因为创建的对象比较复杂,所以需要独立出一个单独的类,即 导演类,来负责这个创建的流程;而工厂类则直接创建对象。

适用场景:

主要用于创建一些比较复杂的对象,这些对象的内部构建顺序通常比较稳定,但是对象构造的参数/属性会有区别。所以,如果一个对象的创建比较复杂,使用工厂模式;如果一个对象的创建特别负责,使用创建者模式。

相关文章