• 策略模式


    1 策略模式
    1〉建立业务的抽象类;
    2〉各业务类继承抽象类,覆盖抽象方法;
    3〉建立策略类,根据传入的不同业务,生成不同的业务类对象
    4〉客户端生成策略,调用策略方法;


    1〉建立业务的抽象类;
    class CashSuper
    {
      public class abstract Double accepCash(double money);
    }
    2〉各业务类继承抽象类,覆盖抽象方法;
    class normal:CashSuper
    {
      public override double accepCash(double money)
     {
       return money;
     }

    class rebate:CashSuper
    {
      public double rebateMoney=0;
      public double cashRebate(string money)
      {
        this.rebateMoney=money;
      }
      public override double accepCash(double money)
      {
        double result=0
        result=money * rebateMoney;
      }
    }
    }
    3〉建立策略类,根据传入的不同业务,生成不同的业务类对象
    class CashContext
      {
        CashSuper cs=null;
        public CashContext(string selecttype)
        {
           switch(selecttype)
            {
              case"normal":
                {
                 cs=new CashNormal();
                 break;         
                }
              case"0.7":
                {
                 cs=new CashRebate("0.7);
                 break;
                }
            }
        }

        public double Result(double money)
        {
              cs.accepCash(money);
        }
      }
    4〉客户端生成策略,调用策略方法;
       CashContext cc=new CashContext(this.drplist.SelectItem.Text)
       cc.Result(Convert.ToDouble(this.txtNum.text)* Convert.ToDouble(this.txtPrices.Text)));

  • 相关阅读:
    Oracle SQL FAQ
    miniasp(no encode)
    请看用javascript设置和读取cookie的简单例子
    asp流下载(Stream)
    (企业公司)网站开发方案
    asp发消息并代多个附件上传(多对多关系)
    tabpage1
    crystal report (asp调用水晶报表实例)
    上海万千文化传播有限公司(网站项目策划书)
    访问和更新Cookies集合
  • 原文地址:https://www.cnblogs.com/csj007523/p/1684638.html
Copyright © 2020-2023  润新知