设计模式之简单工厂(一)

设计模式用于解决软件开发过程中所遇到的问题,大致归纳为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);

发布了65 篇原创文章 · 获赞 28 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_26900081/article/details/88569036