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


    简单工厂模式:定义一个工厂类,在工厂类中通过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();
    }
  • 相关阅读:
    centos7安装Python3.7,执行./configure时报错,configure: error: no acceptable C compiler found in $PATH
    Hadoop集群搭建
    jdk安装
    ssh免密登陆
    centos安装python3.7
    centos7更改yum源
    32.Java基础_异常
    31.Java基础_日期/日期格式/日历类
    1.华为路由交换技术_网络基础知识
    396. 旋转函数(数学)
  • 原文地址:https://www.cnblogs.com/whutwxj/p/15213051.html
Copyright © 2020-2023  润新知