2.Abstract Factory 抽象工厂(创建型模式)之简单工厂
2013-09-22 00:23
357 查看
简单工厂
1.只有一个工厂(具体的,没有抽象)
2.只生产一种产品(抽象的产品)
3.这种产品可以有多种具体产品类型(派生)
![](http://images.cnitblog.com/blog/345474/201309/22002254-2c9af79bc4574370a96a18bed47a37d4.png)
代码实现
1.只有一个工厂(具体的,没有抽象)
2.只生产一种产品(抽象的产品)
3.这种产品可以有多种具体产品类型(派生)
![](http://images.cnitblog.com/blog/345474/201309/22002254-2c9af79bc4574370a96a18bed47a37d4.png)
代码实现
class Program { static void Main(string[] args) { int number1 = 1; int number2 = 2; Compute compute = SimpleFactory.GetComputer("+"); compute.Number1 = number1; compute.Number2 = number2; Console.WriteLine(compute.GetResult()); Console.ReadKey(); } } /// <summary> /// 简单工厂 /// </summary> public static class SimpleFactory { public static Compute GetComputer(string operate) { Compute computer = null; switch (operate) { case "+": computer = new AddCompute(); break; case "-": computer = new SubCompute(); break; case "*": computer = new ChengFaCompute(); break; case "/": computer = new ChuFaCompute(); break; default: break; } return computer; } } /// <summary> /// 计算类 /// </summary> public abstract class Compute { protected int number1; public int Number1 { get { return number1; } set { number1 = value; } } protected int number2; public int Number2 { get { return number2; } set { number2 = value; } } public abstract int GetResult(); } /// <summary> /// 加法 /// </summary> public class AddCompute : Compute { public override int GetResult() { return number1 + number2; } } /// <summary> /// 减法 /// </summary> public class SubCompute : Compute { public override int GetResult() { return number1 - number2; } } /// <summary> /// 乘法 /// </summary> public class ChengFaCompute : Compute { public override int GetResult() { return number1 * number2; } } /// <summary> /// 除法 /// </summary> public class ChuFaCompute : Compute { public override int GetResult() { return number1 / number2; } }
相关文章推荐
- 创建型设计模式之手工打造、简单工厂、工厂方法和抽象工厂(新)
- 创建型模式之 工厂、简单工厂、抽象工厂 简单图析和代码分析 笔记
- 【JavaScript设计模式】创建型设计模式--简单工厂、工厂方法、抽象工厂
- 设计模式——创建型设计模式总结(简单工厂、普通工厂、抽象工厂、建造者、原型和单例)
- 设计模式之创建型模式——简单工厂(又称为静态工厂不属于GOF23种设计模式以内)
- C++设计模式之一 工厂模式(简单工厂、工厂和抽象工厂)
- 设计模式(2)-创建型-简单工厂,工厂,抽象工厂模式(Factory)
- 设计模式:浅析 抽象工厂、工厂方法、简单(静态)工厂 java实现
- 简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别
- 设计模式:对象创建(原型,单例,简单工厂,工厂方法,抽象工厂,生成器)
- 设计模式--简单工厂、工厂方法和抽象工厂
- 简单工厂,工厂模式,抽象工厂
- 简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别
- 简单工厂、工厂方法和抽象工厂设计模式
- 创建型模式1.2简单工厂模式
- 设计模式之-简单工厂、工厂方法、抽象工厂
- 设计模式(2)-创建型-简单工厂,工厂,抽象工厂模式(Factory)
- 设计模式--创建型模式之简单工厂模式
- 简单工厂,Factory Method(工厂方法)和Abstract Factory(抽象工厂)模式
- 【设计模式】C#版三大工厂之简单工厂、工厂方法与抽象工厂