策略模式,Strategy

来源:互联网 发布:js点击播放音频 编辑:程序博客网 时间:2024/05/22 14:52

策略模式的定义是:

定义一组算法,封装每个算法,让它们可以互换。让客户端可以单独切换算法。

 

其UML类图的示例如下:



在这个模式中,参与者包括:

  • Strategy:为所有支持的算法声明一个共同的接口。Context使用这个接口调用ConcreteStrategy定义的接口。
  • ConcreteStrategy:用Strategy接口实现算法。
  • Context:
    • 由ConcreteStrategy配置。
    • 维护一个到Strategy的引用。
    • 可能定义一个接口让Strategy访问其数据。
0 0