码迷,mamicode.com
首页 > 其他好文 > 详细

策略模式

时间:2020-06-28 20:11:35      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:style   text   enc   参考资料   配置   and   nali   cat   repr   

名称:

    策略模式(Strategy Pattern)

 

问题:

     The intent of the Strategy Pattern is to define a family of algorithms, encapsulate each algorithm, and make them interchangeable. The Strategy Pattern lets the algorithm vary independently from clients that use it. In addition the pattern, defines a group of classes that represent a set of possible behaviors. These behaviors can then be used in an application to change its functionality.

 

解决方案:

    

1、 模式的参与者

    1、Strategy

    -定义所有支持的算法的公共接口。Context使用这个接口来调用某ConcreteStrategy定义的算法。

    2、ConcreteStrategy

    -以Strategy接口实现某具体算法。

    3、ConText

    -用一个ConcreteStrategy对象来配置。

    -维护一个对Strategy对象的引用。

    -可定义一个接口来让Strategy访问它的数据。

 

2.实现方式

interface Strategy
{   
    public void method();   
}
class ConcreteStrategyA implements Strategy
{
    public void method()
    {
        System.out.println("A method!");
    }
}
class ConcreteStrategyB implements Strategy
{
  public void method()
  {
      System.out.println("B method");
  }
}
class Context
{
    private Strategy strategy;
    public Strategy getStrategy()
    {
        return strategy;
    }
    public void setStrategy(Strategy strategy)
    {
        this.strategy=strategy;
    }
    public void method()
    {
        strategy.method();
    }
}

 

参考资料

《设计模式:可复用面向对象软件的基础》

策略模式

标签:style   text   enc   参考资料   配置   and   nali   cat   repr   

原文地址:https://www.cnblogs.com/diameter/p/13204500.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!