设计模式——简单工厂模式
来源:互联网 发布:易语言安装包源码 编辑:程序博客网 时间:2024/06/06 05:25
本系列摘录于《大话设计模式》旨在记录学习过程,之前看的都忘记了,好在每天一个设计模式工作量也不太大
业务的封装是让业务逻辑与界面逻辑分开,降低耦合度
简单工厂模式:到底实例化谁,将来会不会增加实例化对象
例子:计算器
using System;using System.Collections.Generic;using System.Text;namespace 简单工厂{ class Program { public class Operation { private double _numberA=0; private double _numberB=0; public double NumberA { get {return _numberA;} set {_numberA=value;} } public double NumberB { get {return _numberB;} set {_numberB=value;} } public virtual double GetResult() { double result=0; return result; } } class OperationAdd:Operation { public override double GetResult() { double result=0; result=NumberA+NumberB; return result; } } class OperationSub:Operation { public override double GetResult() { double result=0; result=NumberA-NumberB; return result; } } class OperationMul:Operation { public override double GetResult() { double result=0; result=NumberA*NumberB; return result; } } class OperationDiv:Operation { public override double GetResult() { double result=0; if(NumberB==0) throw new Exception("除数不能为0"); result=NumberA/NumberB; return result; } } public class OperationFactory { public static Operation createOperate(string operate) { Operation oper = null; switch (operate) { case "+": oper = new OperationAdd(); break; case "-": oper = new OperationSub(); break; case "*": oper = new OperationMul(); break; case "/": oper = new OperationDiv(); break; } return oper; } } static void Main(string[] args) { Operation oper; oper = OperationFactory.createOperate("+"); oper.NumberA = 1; oper.NumberB = 2; double result = oper.GetResult(); Console.WriteLine(result); Console.Read(); } }}
阅读全文
0 0
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 【设计模式】——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 【设计模式】——简单工厂模式
- 设计模式——简单工厂模式
- linux下Tinyxml使用之静态库的生成
- Android手机调用系统相机拍照、裁剪以及获取Url上传图片
- 快速幂取模
- mysql性能优化-慢查询分析、优化索引和配置
- NPOI操作EXCEL导出
- 设计模式——简单工厂模式
- bzoj 3212
- NBU Rman异机恢复Oracle
- RecyclerView 实现轮播图
- 这两天看到了一下大神SQL数据库的优化随手记录了一波
- 随机抽样一致 RANSAC(转)
- Mybatis之批量操作-Oracle
- Spark2.0: Structured Streaming
- LuoguP2397 yyy loves Maths VI