`
yangdc
  • 浏览: 86780 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

设计模式 :策略(strategy)

阅读更多
设计模式常读常新

以前只知道策略模式中存在可替换的strategy类。
其实还应该有一个context类,负责给策略提供需要的参数,提供参数的方式有两种:

1 context计算strategy 所需的参数,并传入
该方式会遇到扩展性和效率的问题
扩展性:提供的参数不满足新的策略的要求。
效率:在一些情况下context计算的参数根本不为stratey所用,浪费时间。

2 context传入自己的引用,由strategy自行选择所需的内容

该方式避免了上面的缺点,但会使strategy依赖context,二者紧密耦合,此时需要细致设计context接口。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics