zoukankan      html  css  js  c++  java
  • 浅谈简单工厂模式--工厂方法模式--抽象工厂模式的不同

    简单工厂模式:

    定义一个简单工厂类,然后把创建对象的功能让它去实现。

    优点:客户端只负责对对象的调用,从而明确了各个类的职责。

    缺点:1.由于简单工厂模式是用静态方法来创建对象,静态方法无法被继承。

       2.具体对象的增加,会导致需要不断修改工厂类,增加相应的逻辑判断,不利于后期维护。

    工厂方法模式:

    该模式解决了简单工厂模式的第二条缺点

    定义一个工厂接口,然后实现不同的具体工厂类去创建不同的具体对象。

    优点:客户端只负责对对象的调用,从而明确了各个类的职责。

         如果有新的对象加入进来,只需要添加一个具体的对象工厂类和具体的对象类,不会影响原有代码,有利于后期维护。

    缺点:额外的编写代码,增加了代码量。

    抽象工厂模式:

    工厂方法模式中,是通过定义工厂接口,然后实现不同的具体工厂类去创建不同的具体对象。

    [现实中,可能多个对象之间存在某种关系,比如(螺丝和螺母)比如(计算工资,社保,所得税)]

    所以把一系列相互关联的对象设计到一个工厂类里后,客户端的调用将会变得非常简单。

    优点:客户端只负责对对象的调用,从而明确了各个类的职责。

    缺点:如果有新的对象加进来,则需要修改抽象工厂类的设计,并同时修改实现这个抽象工厂类的具体公厂类,需要额外的代码量,增加了工作量。

  • 相关阅读:
    关于如何实现接口IComparer以实现自己需要的排序规则
    随机移动
    关于资源版本管理的问题
    Unity3D内部脚本编程入门
    删除GameObject上除了Quality子物体之外其他子物体的组件(但不删除transform)
    资料
    c# 基础知识点
    c# 匿名方法(委托)
    git
    一篇关于Unity3D优化的文章,翻译脚本优化部分
  • 原文地址:https://www.cnblogs.com/houxi/p/3633638.html
Copyright © 2011-2022 走看看