[设计模式]学习设计模式之一(简单工厂模式)
来源:互联网 发布:win7美化软件 编辑:程序博客网 时间:2024/04/29 17:51
简单工厂是我接触的第一种设计模式,在刚开始学习编程时,老师要求写一个计算器软件。于是,用textBox和button组合版的就出炉了!
除了一个form什么都没有,闲在想起来,那时候确实是想法简单。
那么就写个简单工厂的计算器吧!
写下面几个类
public abstract class Operate//计算抽象基类 { public double NumberA { get; set; } public double NumberB { get; set; } public abstract double CalResult(); } public class OperationAdd : Operate//加法 { public override double CalResult() { double result; result = NumberA + NumberB; return result; } } public class OperationSub : Operate//减法 { public override double CalResult() { double result; result = NumberA - NumberB; return result; } } public class OperationFactory//简单工厂 { public static Operate CreatOperate(string operate) { switch (operate) { case "+": return new OperationAdd(); case "-": return new OperationSub(); default: return null; } } }
调用代码如下
static void Main(string[] args) { Operate oper= OperationFactory.CreatOperate("+"); oper.NumberA = 10; oper.NumberB = 3; double result= oper.CalResult(); Console.WriteLine(result); Console.ReadLine(); }
这样,就实现了简单的业务和调用分离。面向抽象编程的思想就体现出来了!
如果需要加入其它的计算,如:乘法、除法等,只需要增加乘法除法的Operate的子类,再在工厂类中增加case 判断,就可以了。
使用设计模式,可以减少重复代码和维护成本。 比如,某一个计算方法出现了bug 那么,只需要更改这个计算类就可以。
- [设计模式]学习设计模式之一(简单工厂模式)
- 大话设计模式之一【简单工厂模式】
- 大话设计模式之一简单工厂模式
- 设计模式之一:简单工厂模式
- 设计模式之一 简单工厂模式
- 设计模式之一:简单工厂模式
- 设计模式之一简单工厂模式
- 设计模式系列之一:简单工厂模式
- 设计模式之一简单工厂模式
- 设计模式之一: 简单工厂模式
- java设计模式之一:简单工厂模式
- 设计模式学习笔记之一(创建模式---工厂模式)
- 设计模式学习之工厂模式(简单工厂模式)
- Java设计模式之一(简单工厂模式)
- 设计模式之一工厂模式
- 设计模式之一工厂模式
- 设计模式之一----工厂模式
- 设计模式学习-简单工厂
- C# GDI+编程(五)
- Ajax调用后台方法的几种写法(一)
- ※设计模式※→☆创建型模式☆============Singleton模式(一)
- Oracle中表被删除或数据被错误修改后的恢复方法
- 自定义 Qt 窗口标题栏
- [设计模式]学习设计模式之一(简单工厂模式)
- 解释性语言和编译性语言的区别
- VC.Net、C#.Net语法上很难想到的几点不同处
- C# GDI+编程(四)
- 类、接口、结构的联系和区别
- 关于ZeroMQ
- Makefile怎样写
- C# GDI+编程(三)
- Java系列技术(规范、历史版本)