《大话设计模式》读书笔记1 简单工厂模式
2016-02-19 21:13
369 查看
简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
简单工厂模式结构图:
简单工厂模式实现代码:
简单工厂模式结构图:
简单工厂模式实现代码:
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; 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; } } //客户端代码 Operation oper; oper=OperationFactory.createOperate("+"); oper.Number1=1; oper.Number2=2; double result=oper.GetResult();
相关文章推荐
- Spark MLlib 1.6 -- 统计基础篇
- 网站性能优化的35条黄金守则
- linux platform_devices platform_driver platform_resource 的使用
- SPOJ QTREE4 lct
- hdu1507Uncle Tom's Inherited Land*
- BZOJ 3261: 最大异或和|可持久化Tire树
- 用内存占用曲线画正弦波
- 《万历十五年》读书笔记
- sql语句批量替换字段数据
- Spark MLlib 1.6 -- 数据类型篇
- 解决word转pdf后图片失真
- 深入理解Linux网络技术内幕——中断与网络驱动程序
- codeforces 618d 搜索
- css之几个细节
- c语言入门之项目2.0——成绩等级
- HashSet如何判定两个元素相同
- 总结学习Fckeditor使用方法
- 指针那些概念
- Asp.net MVC 的八个扩展点
- HDU 5372 Segment Game - 离散化&树状数组