设计模式之简单工厂模式
2015-08-11 10:19
337 查看
设计模式之--简单工厂模式
定义:简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
实现类:
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;
}
}
客户端代码:
class Program{
static void Main(string[] args){
Operation oper;
oper = OperationFactory.createOperate("+");
oper.NumberA = 1;
oper.NumberB = 2;
double result = oper.GetResult();
Console.Write(result);
}
}
运行结果:
定义:简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
实现类:
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;
}
}
客户端代码:
class Program{
static void Main(string[] args){
Operation oper;
oper = OperationFactory.createOperate("+");
oper.NumberA = 1;
oper.NumberB = 2;
double result = oper.GetResult();
Console.Write(result);
}
}
运行结果:
相关文章推荐
- html5 新选择器 querySelector querySelectorAll
- hdu - 5007 Post Robot (水题)
- ThreadLocal理解
- POJ3061---Subsequence(尺取法)
- HDU1863:畅通工程【Kruskal & Prim】
- 开心的金明
- php 命令执行系列
- svn属性svn:keywords与auto-props的配置(运行配置区)
- hud-1863-畅通工程(最小生成树)
- Epoll学习心得
- 数据结构学习笔记4-最长回文子串(Manacher算法)
- 每日20行之3~~~ThreadPool之RegisterWaitForSingleObject 自动定时执行(可循环)
- hdu 2444 The Accomodation of Students(最大匹配 + 二分图判断)
- Java Serializable(序列化)的理解和总结、具体实现过程(转)
- ORACLE EBS常用表
- 传播最广的一篇SVM算法博文
- 黑马程序员-Java基础:面向对象
- POJ 1942:Paths on a Grid
- 第二讲 PLSQL连Oracle数据库
- 再说 c++11 内存模型