设计模式之-工厂类模式

对工厂相关模式的个人理解,后续有不同理解会继续更新,有不同见解的欢迎指教;

简单工厂模式:

    针对的是工厂而言,只有一个工厂类,该类通过入参的不同值返回不同的产品方法类;

    例如:  

            factory根据不同入参返回productA,productB...  

    特点:此种针对新增产品方法无法直接扩展,需要修改factory类;使用中简单的分流场景下可使用该模式;

    示例:

            

工厂方法:

    工厂方法是针对每一个产品方法都有一个工厂类;

    例如:

            factoryA生产productA,facrotyB生产productB;

    特点:不同的产品方法对应不同的一个工厂方法,对于修改其中某一个产品类方法更方便,因为只需要修改一个类;

    示例:

        

抽象工厂方法模式:

    抽象工厂方法模式核心是有一个抽象工厂方法,所有的工厂类都继承于该抽象工厂方法类;也可简单理解为结合了简单工厂模式及工厂模式方法;每个工厂类拥有的是创建产品簇的方法;

    例如 :   

            抽象工厂方法类AbstractFactory,继承工厂类:factoryA, factoryB...

            其中每个工厂都有生产prodcutA,productB...的方法;

    特点:抽象工厂方法无法直接拓展产品簇,需要更新所有的工厂方法类;但是对于直接新的产品簇可直接继承AbstractFactory;

    示例:

        

猜你喜欢

转载自blog.csdn.net/aiyawalie/article/details/81170037