工厂模式,简单工厂模式,抽象工厂模式三者有什么区别

https://zhidao.baidu.com/question/1701919048637224580.html

 

 

工厂模式,简单工厂模式,抽象工厂模式三者区别如下:

1、首先,三者的创建对象是不相同的。

进行创建对象时,“工厂模式”不使用new创建对象,而是使用Factory模式;“简单工厂模式”则是通过fw模式来建立对象;“抽象工厂模式”使用迭代模式来创建对象。

2、其次,三者的定义变量不同。

“工厂模式”在使用时可以随时设置变量,不用提前进行设置。“简单工厂模式”中需要使用参数或者配置文件等已经定义好的变量,然后才能进行下一步的操作。“抽象工厂模式则”则需要每次增加产品时,进行修改类方法。

3、最后,三者的接口数量不同。“工厂模式”可以使用两个接口以及三个接口,“简单工厂模式”只可以使用一个接口。“抽象工厂模式”则可以使用无限个接口。

扩展资料:

简单工厂模式优缺点

1、优e79fa5e98193e59b9ee7ad9431333431356134点:工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品对象的责任,而仅仅"消费"产品。简单工厂模式通过这种做法实现了对责任的分割。

当产品有复杂的多层等级结构时,工厂类只有自己,以不变应万变,就是模式的缺点。因为工厂类集中了所有产品创建逻辑,一旦不能正常工作,整个系统都要受到影响。

2、缺点:系统扩展困难,一旦添加新产品就不得不修改工厂逻辑,有可能造成工厂逻辑过于复杂,违背了"开放--封闭"原则(OCP)。另外,简单工厂模式通常使用静态工厂方法,这使得无法由子类继承,造成工厂角色无法形成基于继承的等级结构。

参考资料来源:百度百科-工厂模式

参考资料来源:百度百科-简单工厂模式

参考资料来源:百度百科-抽象工厂模式

posted on 2020-05-28 09:16  四海骄阳  阅读(3869)  评论(0编辑  收藏  举报

导航