美文网首页
设计模式3——抽象工厂模式

设计模式3——抽象工厂模式

作者: 问道心路长几许 | 来源:发表于2018-10-15 00:51 被阅读11次

    一、抽象工程模式的定义

            抽象工厂模式(Abstract Factory Pattern)是一种比较常用的模式,其定义如下

            Provide an interface for creating families of related related or dependent object without specifying their concrete classes.(为创建一组相关或者相互依赖的对象提供一个接口,而且无须指定他们的具体类) 

    二、抽象工厂模式的应用

            1、抽象工厂模式的优点

                封装性

                每个产品的实现类不是高层模块关心的,它要关心的是什么?是接口,是抽象,它不关心对象是如何创建出来的,这由谁负责呢?工厂类,只要知道工厂类是谁。我就能创建一个需要的对象,省时省力,优秀的设计就该如此

                产品族内的约束为非公开状态

                例如,生产男女比例问题上,每生词1个女性,就同时产生1.2个男性,这样的生成过程对吊用工厂类的高层模块是不透明的,他不需要知道这个约束

            2、抽象工厂模式的缺点

                   抽象工厂模式的最大缺点就是产品族扩展非常困难,为什么这么说呢?如果增加一个产品c,也就是原来的产品家族由原来的两个增加到3个,抽象类AbsratractCreateor 要增加一个方法createProductC(),然后两个实现类都要修改,这严重的影响了开闭原则

            3、抽象工厂模式的应用场景

                抽象工厂模式的使用场景定义非常简单,一个对象族(或是一组没有任何关系的对象)都有相同约束,则可以适用抽象工厂模式,

    相关文章

      网友评论

          本文标题:设计模式3——抽象工厂模式

          本文链接:https://www.haomeiwen.com/subject/xpkxzftx.html