你的位置:首页 > 软件开发 > ASP.net > 设计模式 之 策略(Strategy)模式

设计模式 之 策略(Strategy)模式

发布时间:2016-03-14 18:00:04
最近看了《head first 设计模式》一书,便总结了里面的一些内容,今天就简单介绍一下策略模式。策略模式:定义了算法族,分别封装起来,让他们能够相互替换,此模式让算法的变化独立于使用算法的客户。简单来说,就是将各个算法分别封装起来,使得他们能够互换。下面是策略模式的示例结构图 ...

最近看了《head first 设计模式》一书,便总结了里面的一些内容,今天就简单介绍一下策略模式。

策略模式:定义了算法族,分别封装起来,让他们能够相互替换,此模式让算法的变化独立于使用算法的客户。简单来说,就是将各个算法分别封装起来,使得他们能够互换。

下面是策略模式的示例结构图:

设计模式 之 策略(Strategy)模式

 

策略模式涉及三个角色:

  • 环境类(context):用一个ConcreteStrategy对象来配置。持有Strategy的引用。
  • 抽象策略类(Strategy):定义了所有算法的公共接口。
  • 具体策略类(ConcreteStrategy):定义了每一个算法,每个算法实现了同一个接口

源代码:

抽象策略类:

public interface Strategy {  /**   * 策略方法   */  public void strategyInterface();}

原标题:设计模式 之 策略(Strategy)模式

关键词:设计模式

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。