设计模式的简单应用【加减乘除】
2013-08-21 14:29
253 查看
最近在学习设计模式,就简单设计模式而言,看后我写了一个“加减乘除”的例子,分享给大家。
首先定义一个工厂类:
然后定义一个运算类:(一个基类,加减乘除分别继承)
然后在窗体中调用即可。
要实现加减乘除其实很简单,一般一个函数就可以做出来(简单修改一下GetStrings这个函数就可),这里只是想用简单的方式实现这个设计模式的思想。觉得确实不错。
我觉得设计模式看一下都不是问题,问题是如何将一个实际的问题转换为设计模式的思想,这个很重要。
首先定义一个工厂类:
public class OperatorFactory { public OperatorFactory() { } internal OperatorNumber GetStrings(string num1, string oper, string num2) { OperatorNumber obj; char c = char.Parse(oper); switch (c) { case '+': obj = new Jia(num1, num2); break; case '-': obj = new Jian(num1, num2); break; case '*': obj = new Cheng(num1, num2); break; case '/': obj = new Chu(num1, num2); break; default: obj = null; break; } return obj; } }
然后定义一个运算类:(一个基类,加减乘除分别继承)
public class OperatorNumber { protected float x; protected float y; protected float r; public string GetResult() { return r.ToString(); } } public class Jia : OperatorNumber { public Jia(string num1, string num2) { try { x = float.Parse(num1); y = float.Parse(num2); r = x + y; } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } } } public class Jian : OperatorNumber { public Jian(string num1, string num2) { try { x = float.Parse(num1); y = float.Parse(num2); r = x - y; } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } } } public class Cheng : OperatorNumber { public Cheng(string num1, string num2) { try { x = float.Parse(num1); y = float.Parse(num2); r = x * y; } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } } } public class Chu : OperatorNumber { public Chu(string num1, string num2) { try { x = float.Parse(num1); y = float.Parse(num2); r = x / y; } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } } }
然后在窗体中调用即可。
OperatorFactory factory = new OperatorFactory(); OperatorNumber obj = factory.GetStrings(txtNum1.Text, cbOper.Text, txtNum2.Text); txtRet.Text = obj.GetResult();
要实现加减乘除其实很简单,一般一个函数就可以做出来(简单修改一下GetStrings这个函数就可),这里只是想用简单的方式实现这个设计模式的思想。觉得确实不错。
我觉得设计模式看一下都不是问题,问题是如何将一个实际的问题转换为设计模式的思想,这个很重要。
相关文章推荐
- iOS应用设计模式开发中对简单工厂和工厂方法模式的运用
- 单例设计模式的简单应用
- Java设计模式之观察者模式的应用--简单的事件通知工具
- 【设计模式】工厂模式结合反射技术的简单应用
- 简单工厂模式——23种设计模式综合实例应用
- 设计模式--简单工厂应用 java
- 模版方法设计模式简单应用
- iOS应用设计模式开发中对简单工厂和工厂方法模式的运用
- 设计模式中简单工厂模式的应用----java
- 设计模式实战应用之四:简单工厂模式
- 设计模式实战应用之四:简单工厂模式
- 九种常用设计模式的简单应用
- *Java在抽象类的简单应用:模板设计模式
- 论设计模式在软件开发中的应用
- 《从零開始学Swift》学习笔记(Day 65)——Cocoa Touch设计模式及应用之选择器
- 设计模式在实际项目中的应用
- php设计模式之命令模式的应用详解
- 设计模式学习笔记(一) 简单工厂
- 设计模式-创建者模式-简单工厂模式
- 资源池设计模式 (Resource Pool)和数据池的简单实现