- 一、角色
- 环境类(Context):对策略进行管理
- 抽象策略类(Strategy):所有策略类的抽象接口
- 具体策略类(ConcreteStrategy):具体策略实现类
- 二、适用场景
- 如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为
- 一个系统需要动态地在几种算法中选择一种
- 如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重的条件选择语句来实现
- 不希望客户端知道复杂的、与算法相关的数据结构,在具体策略类中封装算法和相关的数据结构,提高算法的保密性与安全性
- 三、实例
22.策略模式
原文:https://www.cnblogs.com/zhongj/p/11398461.html