zoukankan      html  css  js  c++  java
  • 策略模式

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

  • 相关阅读:
    国外名校课程视频爆红 网友总结“必杀技”(图)
    设置mysql密码
    Writing Linux LCD drivers—深入分析framebuffer设备驱动的结构
    LAMP架构中,php 与 php、php与C语言程序等 之间 的网络通信 问题
    API & ABI
    Linux 6初体验:桌面性能堪比新版Ubuntu
    diff 比较两个文件夹
    11种错误的保养皮肤习惯
    服务器领域Linux击败Windows的5大理由
    CentOS5.5 FTP安装配置
  • 原文地址:https://www.cnblogs.com/csj007523/p/1684638.html
Copyright © 2011-2022 走看看