“简单工厂模式根据提供的数据或者参数返回几个可能的类中的一个实例,说通俗点有点像面向对象编程中的多态性,一个基类,有多个派生类,在另外的调用程序中,根据参数来决定返回这个基类的哪个具体的派生类,返回值为基类类型,因为基类的引用可以指向派生类对象,而且这些所有的派生类都包含有基类的函数,也就是说派生类中有相同的函数,但是函数的实现可能不同”,引自aehyok的博文设计模式之二(简单工厂模式)前言
工厂模式中有: 工厂方法模式(Factory Method)模式和抽象工厂模式(Abstract Factory).
简单工厂模式是工厂方法模式的一个特例,理解简单工厂模式对于理解工厂模式很有意义
用简单工厂模式实现的"+","-","*","/",界面
\
实现接口(ICalculator),定义四个运算类"+","-","*","/"(CalculatorPlus、CalculatorMinus、CalculatorMultiply、CalculatorDivide),定义工厂类(FactoryCalculator)用以创建运算类对象。 类图
类代码
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Calculator.简单工厂模式 8 { 9 /// <summary> 10 /// 接口-计算 11 /// </summary> 12 interface ICalculator 13 { 14 #region 计算方法+ float Calculate(float num1, float num2) 15 /// <summary> 16 /// 计算方法 17 /// </summary> 18 /// <param name="num1"></param> 19 /// <param name="num2"></param> 20 /// <returns></returns> 21 float Calculate(float num1, float num2); 22 #endregion 23 } 24 }