• 一般方法和工厂方法的对比


    简单工厂模式的类图如下:

    简单工厂根据具体的指令创建指定的对象,简单工厂能创建的对象各类事先都是在代码里面写好的。

    工厂方法模式的类图如下:

    两种方式做一个对比,以需求的变化,来显示更改的内容和位置

    什么样的需求?计算器要求添加新的运算种类 开平方

    简单工厂里面需要加上开平方的功能类,然后去更改工厂类,添加case语句

    这样客户端需要开平方的功能时,只需要传入开平方的标识就好了

    要是工厂方法的话,添加开平方功能类,添加开平方工厂类,还得修改客户端

    增加了客户端的复杂性。

    简单工厂和工厂方法的区别:

    简单模式最大的优点是工厂类中包含了必要的逻辑判断,根据客户端的选择动态的选择实例化功能类,对于客户端解除了依赖

    工厂模式实现时,客户端需要决定实例化哪一个工厂类来实现 运算,选择判断的问题还是存在的,工厂方法把简单工厂 的内部逻辑移到了客户端来进行,想加功能原来是改工厂类,现在是改客户端

    工厂方法克服了简单工厂违背的开闭原则,又保持了封装对象创建过程的优点

    工厂方法保持了简单工厂的优点,克服了缺点,但缺点是由于每增加一个产品就需要增加一个产品的工厂类,增加了开发量

  • 相关阅读:
    带外数据
    数组中的第K个最大元素
    广播和多播
    反转链表
    ioctl操作
    非阻塞式I/O
    [CSP-S模拟测试]:简单的括号序列(组合数)
    [CSP-S模拟测试]:最大异或和(数学)
    关于我
    [CSP-S模拟测试]:礼物(数学)
  • 原文地址:https://www.cnblogs.com/gdnyfcuso/p/6810965.html
Copyright © 2020-2023  润新知