• 工厂方法模式(Factory Pattern)


    工厂方法模式对简单工厂模式进行改进,从工厂类中抽象出来一个接口用于创建实际工厂类,其uml图如下所示:

    具体实现如下:

        class Operation
        {
            private double _numberA = 0;
            private double _numberB = 0;

            public double NubmerA
            {
                get { return _numberA; }
                set { _numberA = value; }
            }
            public double NumberB
            {
                get { return _numberB; }
                set { _numberB = value; }
            }

            public virtual double GetResult()
            {
                double result = 0;
                return result;
            }
        }
        interface IFactory
        {
            Operation CreatOperation();
        }
        class OperationAdd : IFactory
        {
            public Operation CreatOperation()
            {
                return new OperationAdd();
            }
            public override double GetResult()
            {
                double result = 0;
                result = NubmerA + NumberB;
                return result;
            }
        }
        class OperationSub : IFactory
        {
            public Operation CreatOperation()
            {
                return new OperationSub();
            }
            public override double GetResult()
            {
                double result = 0;
                result = NubmerA - NumberB;
                return result;
            }
        }

    调用:

             

                IFactory operFactory = new OperationAdd();
                Operation oper = operFactory.CreatOperation();
                oper.NubmerA = 1;
                oper.NumberB = 4;
                oper.GetResult();
  • 相关阅读:
    从有序的数组中查找某个值
    OJ 21658::Monthly Expense(二分搜索+最小化最大值)
    OJ 21651::Cow Hurdles(佛罗一德的变式)
    Oj 24260: Lilypad Pond (神奇广搜题,状态搜索)
    MongoDB常用语句
    MongoDB可视化工具之mongoBooster
    MongoDB的安装,mongod和mongo的区别
    数组遍历及其他方法
    MongoDB的安装与卸载与再安装
    MongoDB下载安装步骤+文件解析
  • 原文地址:https://www.cnblogs.com/nygfcn1234/p/3385630.html
Copyright © 2020-2023  润新知