zoukankan      html  css  js  c++  java
  • 工厂方法模式(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();
  • 相关阅读:
    Bzoj 3624: [Apio2008]免费道路 (贪心+生成树)
    [ZJOI2008]杀蚂蚁antbuster 题解
    赛前集训的第一个小总结(希望?)
    Bzoj1972: [Sdoi2010]猪国杀 题解(大模拟+耐心+细心)
    Luogu2150 寿司晚宴
    「考试总结2020-08-03」可期
    Luogu4747 [CERC2017]Intrinsic Interval
    BZOJ2839 集合计数
    Luogu5369 [PKUSC2018]最大前缀和
    Luogu5772 [JSOI2016]位运算
  • 原文地址:https://www.cnblogs.com/nygfcn1234/p/3385630.html
Copyright © 2011-2022 走看看