如果在之前写的简单工厂模式(四则运算)基础上,添加一个‘求M数的N次方’,我们需要改变工厂方法,添加‘Case’语句做判断,这样修改会违背开放-封闭原则。
这次,介绍工厂模式,为每个加减乘除方法添加一个工厂类,让客户动态地实例所需要的工厂类。
结构图:
工厂模式:定义一个用于创建对象的接口,让子类决定实例哪一个类。工厂方法使一个类的实例延迟到其子类。
在之前的简单工厂模式(四则运算)中添加以下几个工厂方法:
专门负责生产“+”的工厂
public class AddFactory implements IFactory{
@Override
public Operation CreateOperation() {
return new OperationAdd();
}
}
专门负责生产“-”的工厂
public class SubFactory implements IFactory{
@Override
public Operation CreateOperation() {
return new OperationSub();
}
}
专门负责生产“*”的工厂
public class MulFactory implements IFactory{
@Override
public Operation CreateOperation() {
return new OperationMul();
}
}
专门负责生产“/”的工厂
public class DivFactory implements IFactory{
@Override
public Operation CreateOperation() {
return new OperationDiv();
}
}
测试类
public class Test {
public static void main(String[] args) {
IFactory operFactory = new AddFactory();
Operation operation = operFactory.CreateOperation();
double numberA = 3;
double numberB = 1;
System.out.println(operation.getResult(numberA, numberB));
}
}
输出结果:
4
相关推荐
JAVA简单工厂模式四则运算计算器
NULL 博文链接:https://michael1990.iteye.com/blog/2111006
只实现了简单四则运算,简单工厂模式实现,可扩展性很强,增加其他运算,只需改动较小部分!
IOS工厂方法模式demo+三种工厂模式讲解。
本下载内容为1:简单工厂模式demo,一个简单的四则运算,提现工厂模式的特点。代码中有讲解。 2:3种工厂模式讲解。
用 面向对象思想编写简单运算器 1.简单运用 面向对象思想设计,封装、继承、多态,简单工厂设计模式 2.前后台分离,面向对象,业务封装,松耦合,易后期修改和维护
利用简单工厂的设计模式,继承,封装,多态的方式完成的计算器
使用工厂方法模式构建简易四则计算器,并增加指数和对数两种二元运算,类图。
在vs2008SP1下使用标准C++编写的计算器程序 实现了加减乘除四则运算 功能虽然简单, 却也用到简单工厂模式, 还有一般学生不会去注意的异常处理 代码风格良好.
正在学习设计模式,为练习用就用简单工厂模式实现了个简单的四则运算器,很简单,第一次上传东西,初学或者要学设计模式的可以下来看看~~
C#计算器 用到了继承、工厂模式 根据不同的运算符号实例化不同的类 学习用的
C# 运用简单工厂模式,实现邻位四则运算。+ - / * 继承Operation类,创建工厂判断运算符,继而调用子类,完成运算。
下面使用简单工厂模式实现一个简单的四则运算 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'Andy' ''' 大话设计模式 用任意一种面向对象语言实现一个计算器控制台程序。要求输入两个数和运算符号,...
27.1 四则运算你会吗 27.2 解释器模式的定义 27.3 解释器模式的应用 27.3.1 解释器模式的优点 27.3.2 解释器模式的缺点 27.3.3 解释器模式使用的场景 27.3.4 解释器模式的注意事项 27.4 最佳实践 第28章 享元模式 ...
使用工厂方法模式重构上个学期的简易四则计算器(带用户界面),并在原有四则计算器中拓展功能,增加指数和对数两种二元运算。 2、建造者模式 2.1 作业题目 假设生产计算机只需要CPU、内存、显卡、显示器和光驱,现在...
1、使用工厂方法模式重构上个学期的简易四则计算器(带用户界面),并在原有四则计算器中拓展功能,增加指数和对数两种二元运算。 2、假设生产计算机只需要CPU、内存、显卡、显示器和光驱,现在要生产3个不同型号的...
采用工厂模式,实现了加、减、乘、除、指数、对数运算,有控制台和UI界面两种启动方式,可随意切换,可以根据需要增加或者删除运算功能,操作很简单,只需增加或者删除类,修改配置文件
本项目使用了Qt5.3.2版本进行开发,使用了设计模式中的简单工厂设计模式,支持四则运算,三角函数运算和幂运算,是属于计算器中的科学计算型计算器