设计模式之-----策略模式

来源:互联网 发布:切纸机编程使用方法 编辑:程序博客网 时间:2024/04/29 03:28

策略模式(Strategy):

      它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。

 

CashContest类

 class CashConstext

     private CashSuper cs;

     public  CashContext(CashSuper csuper)//传入的是具体的收费策略

    {

             this.cs=csuper;

    }  

   public double GetResult(double money)

  {

       return cs.acceptCash(money);

  }


 }


策略模式与简单工厂结合



        策略模式实施一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法。减少了各种算法类与使用算法类之间的耦合。

       策略模式的Strategy类层次为Context定义了一系列的可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。

       策略模式的优点是简化了单元测试。因为每个算法都有自己的类。可以通过自己的接口单独测试。



   

0 0
原创粉丝点击