zoukankan      html  css  js  c++  java
  • 六.工厂与策略结合

    工厂与策略结合:

           将工厂模式与策略模式结合使用

                  工厂模式:——客户端需要用到工厂和方法类

    传入参数

    判断选择实体类型

    返回实例化的类型

                  策略模式:——客户端需要用到策略和方法类

                         传入的是(已经判断选择的实例化的)实体类型

                         声明一个方法,调用实体的方法

                         客户端调用策略类的这个

           结合后:——客户端只需用到工厂策略类

                  传入参数

                  判断选择实体类型

                  声明一个方法,调用实体的方法

           classCashContextFactory

        {

           private CashSuper cs;

           public CashContextFactory (string type)

           {

               switch (type)

               {

                    case "正常收费":

                        cs = new CashNormal();

                        break;

                    case "打八折":

                       cs = newCashRebhate("0.8");

                        break;

                    case "打七折":

                        cs = newCashRebhate("0.7");

                        break;

                    case "满500送100":

                        cs = newCashReturn("500", "300");

                        break;

               }

           }

           public double GetResult(double monty)

           {

               return cs.acceptCash(monty);

           }

        }

  • 相关阅读:
    状态压缩DP------学习小记
    hdu 4681 string
    poj 3254 Corn Fields
    poj 3680 Intervals
    poj 1149 pigs ---- 最大流
    最大流算法----(SAP 和 EK)
    poj 2151 Check the difficulty of problems
    FTP的PORT(主动模式)和PASV(被动模式)
    json.stringify(),json.stringify()与json.parse()的区别
    css 选择器
  • 原文地址:https://www.cnblogs.com/yaoge/p/1815226.html
Copyright © 2011-2022 走看看