大话设计模式之——简单工厂模式
来源:互联网 发布:天猫双11实时数据直播 编辑:程序博客网 时间:2024/05/16 08:11
本系列博客为《大话设计模式》这本书的读后感,如果感兴趣的朋友请去看原书
一、封装、继承与多态
封装的一个好处就是实现业务逻辑和界面逻辑的分离。而继承则可以实现修改某一个业务逻辑而不影响到其他的业务逻辑。
二、可维护性、可复用性、可拓展性、灵活性的感性认识
在该书中举了一个“活字印刷”的例子,本人觉得挺形象的。用那个例子来解释以上4个名次就是:
可维护性:能够修改需要修改的字。
可复用性:无需修改的字可以重复使用
可拓展性 :可以在原来的基础上增加新的字进去
灵活性:印有字的模板既可以横着排,也可以竖着排
三、UML图
四、代码实现(Java版)
1、Operation
public class Operation {public double numberA = 0;public double numberB = 0;public double getResult() throws Exception{return 0;}}
2、OperationAdd
public class OperationAdd extends Operation {@Overridepublic double getResult() {return numberA + numberB;}}
3、OperationSub
public class OperationSub extends Operation{@Overridepublic double getResult() {return numberA - numberB;}}
4、OperationMul
public class OperationMul extends Operation {@Overridepublic double getResult() {return numberA * numberB;}}
5、OperationDiv
public class OperationDiv extends Operation {@Overridepublic double getResult() throws Exception {if(numberB == 0){throw new Exception("除数不能为0");}return numberA / numberB;}}
6、OperationFactory
public class OperationFactory {public static Operation createOperation(String operator) {Operation opr = null;switch (operator) {case "+": opr = new OperationAdd();break;case "-":opr = new OperationSub();break;case "*":opr = new OperationMul();break;case "/":opr = new OperationDiv();break;default:break;}return opr;}}
--------------------------------------------以上是业务逻辑,以下是界面逻辑-------------------------------------------
7、UIMain
import java.util.Scanner;public class UIMain {public static void main(String[] args) throws Exception{Scanner scanner = new Scanner(System.in);System.out.println("请输入第一个操作数");double numberA = scanner.nextDouble();System.out.println("请输入操作符");String operator = scanner.next();System.out.println("请输入第二个操作符");double numberB = scanner.nextDouble();Operation opr = OperationFactory.createOperation(operator);opr.numberA = numberA;opr.numberB = numberB;double result = opr.getResult();System.out.println("运算结果为: " + result);}}
1 0
- 大话设计模式之——简单工厂模式
- 大话设计模式之简单工厂模式
- 大话设计模式之简单工厂模式
- 大话设计模式之简单工厂模式
- 大话设计模式之简单工厂模式
- 大话设计模式之--简单工厂模式
- 大话设计模式之简单工厂模式
- 《大话设计模式》之简单工厂模式
- 【设计模式】《大话设计模式》——简单工厂模式
- 大话设计模式——简单工厂
- 大话设计之简单工厂模式
- 大话设计模式读书笔记之简单工厂
- 大话设计模式一——简单工厂模式
- 大话设计模式读书笔记——“简单工厂模式”
- 大话设计模式——简单工厂模式
- 大话设计模式——简单工厂模式
- 【大话设计模式】——简单工厂模式
- 《大话设计模式》——简单工厂模式
- 数据的查找
- 【致自己】如果你发现这件事怎么特别难,那么有可能这次的收获,特别大
- linux c serial communication
- 并行口实现数字0~9、A~F、L、U、P、n总共19个键盘,将按键的结果用7段数码管(例如:7SEG-MPX-CA-BLUE)显示(可选——按键控制移位)出来
- 硬币翻转倍数递增试算
- 大话设计模式之——简单工厂模式
- RAPI
- PostgreSQL学习手册(服务器配置)
- .net 中文乱码问题
- js创建对象的集中方法
- PHP获取MAC地址的代码
- struts2系列十一之 struts.xml中的include用法
- ?
- robotium相关代码学习