设计模式用于解决软件开发过程中所遇到的问题,大致归纳为23种设计模式;设计模式没有固定的使用方式。完全可以根据自己的需要进行相应的修改,也可以多个设计模式合作使用。不必拘泥于现有的解决方式。在学习设计模式之前可以先简单看看六大设计原则。
简单工厂的优点在于内部包含了必要的逻辑判断,根据客户端的选择动态的实例化相关的类,对于客户端而言去除了于具体产品的依赖;但是如果需要拓展新的逻辑则必须修改逻辑判断。 违背了开闭原则;
//操作计算接口
public interface IOperation
{
int GetResult(int numOne,int numTwo);
}
//加法运算
public class AddOperation : IOperation
{
public int GetResult(int numOne, int numTwo)
{
return numOne + numTwo;
}
}
//减法运算
public class SubOperation : IOperation
{
public int GetResult(int numOne, int numTwo)
{
return numOne - numTwo;
}
}
/// <summary>
/// 简单工厂类
/// </summary>
public class SimpleFactory
{
public static IOperation CreateOperation(string oper)
{
switch (oper)
{
case "+":
return new AddOperation();
case "-":
return new SubOperation();
case "*":
return new MulOperation();
case "/":
return new DiOperation();
default:
return null;
}
}
}
//测试
IOperation oper = SimpleFactory.CreateOperation("+");
return oper.GetResult(1, 2);