概述
静态工厂模式又称为简单工厂模式,这个模式甚至不能称为一个模式,我们可能只能称其为一个编程习惯。但它在实际的编程中经常被用到,而且思想也非常简单,可以说是其他工厂模式的一个前导。
类图
计算器示例
namespace FactoryCalc
{
public interface IOperater
{
double Num1
{
get;
set;
}
double Num2
{
get;
set;
}
double GetResult();
}
}
namespace FactoryCalc
{
public class AddOperater : IOperater
{
public double GetResult()
{
return Num1 + Num2;
}
public double Num1
{
get;
set;
}
public double Num2
{
get;
set;
}
}
}
namespace FactoryCalc
{
public class SubOperater : IOperater
{
public double GetResult()
{
return Num1 - Num2;
}
public double Num1
{
get;
set;
}
public double Num2
{
get;
set;
}
}
}
namespace FactoryCalc
{
public class SubOperater : IOperater
{
public double GetResult()
{
return Num1 - Num2;
}
public double Num1
{
get;
set;
}
public double Num2
{
get;
set;
}
}
}
namespace FactoryCalc
{
public class MulOperater : IOperater
{
public double GetResult()
{
return Num1 * Num2;
}
public double Num1
{
get;
set;
}
public double Num2
{
get;
set;
}
}
}
namespace FactoryCalc
{
public class DivOperater : IOperater
{
public double GetResult()
{
if (Num2 == 0)
{
throw new DivideByZeroException("Num2不能为0.");
}
else
{
return Num1 / Num2;
}
}
public double Num1
{
get;
set;
}
public double Num2
{
get;
set;
}
}
}
namespace FactoryCalc
{
public static class OperaterFactory
{
public static IOperater CreateOperater(string operater)
{
switch (operater)
{
case "+":
return new AddOperater();
case "-":
return new SubOperater();
case "*":
return new MulOperater();
case "/":
return new DivOperater();
default:
return null;
}
}
}
}
示例代码 FactoryCalc.rar