码迷,mamicode.com
首页 > 其他好文 > 详细

简单工厂模式跟工厂方法模式的区别和适用场景

时间:2019-06-06 22:43:22      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:并且   比较   不同的   迪米特法则   创建   引入   任务   new   抽象工厂模式   

简单工厂模式跟工厂方法模式极为相似,

区别是:简单工厂只有三个要素,他没有工厂接口,并且得到产品的方法一般是静态的。因为没有工厂接口,所以在工厂实现的扩展性方面稍弱,可以算所工厂方法模式的简化版

适用场景:

不管是简单工厂模式,工厂方法模式还是抽象工厂模式,他们具有类似的特性,所以他们的适用场景也是类似的。

首先,作为一种创建类模式,在任何需要生成复杂对象的地方,都可以使用工厂方法模式。有一点需要注意的地方就是复杂对象适合使用工厂模式,而简单对象,特别是只需要通过new就可以完成创建的对象,无需使用工厂模式。如果使用工厂模式,就需要引入一个工厂类,会增加系统的复杂度。

其次,工厂模式是一种典型的解耦模式,迪米特法则在工厂模式中表现的尤为明显。假如调用者自己组装产品需要增加依赖关系时,可以考虑使用工厂模式。将会大大降低对象之间的耦合度。

再次,由于工厂模式是依靠抽象架构的,它把实例化产品的任务交由实现类完成,扩展性比较好。也就是说,当需要系统有比较好的扩展性时,可以考虑工厂模式,不同的产品用不同的实现工厂来组装。

简单工厂模式跟工厂方法模式的区别和适用场景

标签:并且   比较   不同的   迪米特法则   创建   引入   任务   new   抽象工厂模式   

原文地址:https://www.cnblogs.com/sallyiszxm/p/10987138.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!