• 简单工厂模式和工厂方法模式


    简单工厂模式:定义一个工厂类,在工厂类中通过switch或if判断,决定应该创建哪个子类对象。创建子类对象是在这一个工厂类当中进行的。

    其弊端在于每次新增都要去修改这个工厂类,违反了 开放-封闭原则。

    工厂方法模式:定义多个工厂类,每一个Operation类都对应着一个工厂类。比如我们的计算器模型,加减乘除四种运算,对应着四个工厂类。

    注意:这四个工厂类并不是继承自 Operation类,只是在工厂类的方法中return  new Operation();创建一个Operation类的对象返回。

    根据 理氏替换和依赖倒转原则——具体表现为面向接口编程,而不是面向实现编程。

    针对多个工厂类,可以抽象出一个顶级工厂接口——OperationFactoryInterface ,所有的工厂类都实现该接口。

    那么在新增操作的时候,只需要新增一个Operation类和一个对应的工厂类即可。对扩展开放,对修改关闭,没有违反开放-封闭原则。

    在调用者发起调用的时候,使用顶级接口OperationFactoryInterface 接收结果,具体调用的工厂类交给调用者。

    public static void main(String[] args) {
            OperationFactoryInterface oprFac = new AddFactory();
            Operation opr = oprFac.createOperation();
            opr.setNumberA(1);
            opr.setNumberB(2);
            double result = opr.getResult();
    }
  • 相关阅读:
    元素绑定与非元素绑定
    窗口之间的交互,windows和自定义的窗口集合
    e.which
    prop()和attr()
    web动画
    $.proxy()和$.makeArray()
    匿名自执行函数报错
    页面适配
    gulp
    伪元素和伪类
  • 原文地址:https://www.cnblogs.com/whutwxj/p/15213051.html
Copyright © 2020-2023  润新知