定义
也叫做政策模式。定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。

Context封装角色。上下文角色,起承上启下的作用,屏蔽高层模块对策略、算法的直接访问,封装可能存在的变化。
Strategy抽象策略角色。策略、算法家族的抽象,通常为接口,定义每个策略或算法必须具有的方法和属性。
ConcreteStrategy具体策略角色。实现抽象策略中的操作,该类含有具体的算法。
策略模式的重点就是封装角色。高层模块需要知道要用哪个策略,产生它的对象,然后放到封装角色中就完成了任务。
优点
-
算法可以自由切换。
优点 -
算法可以自由切换。
-
扩展性良好。有了新的策略,只需要实现接口就行了,其他不用修改。
参考
《设计模式之禅》
9万+

被折叠的 条评论
为什么被折叠?



