首页 > 其他 > 详细

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

时间:2021-09-02 00:45:04      阅读:11      评论:0      收藏:0      [点我收藏+]

简单工厂模式:定义一个工厂类,在工厂类中通过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();
}

 

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

原文:https://www.cnblogs.com/whutwxj/p/15213051.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!