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);

           }

        }

  • 相关阅读:
    LeetCode Array Easy 414. Third Maximum Number
    LeetCode Linked List Medium 2. Add Two Numbers
    LeetCode Array Easy 283. Move Zeroes
    LeetCode Array Easy 268. Missing Number
    LeetCode Array Easy 219. Contains Duplicate II
    LeetCode Array Easy 217. Contains Duplicate
    LeetCode Array Easy 189. Rotate Array
    LeetCode Array Easy169. Majority Element
    LeetCode Array Medium 11. Container With Most Water
    LeetCode Array Easy 167. Two Sum II
  • 原文地址:https://www.cnblogs.com/yaoge/p/1815226.html
Copyright © 2011-2022 走看看