Strategy(策略)模式
2020-12-02 本文已影响0人
iEugene
-
特点:策略可以理解为程序中的算法,程序是为了解决问题,算法更是如此。
有时候在面对同一个问题可能会有不同的情况,不同情况就需要有不同的算法取处理,策略模式就是为了处理这种情况,面对相同问题,不同情况采用不同的算法。 - 角色:
| 角色名称 | 角色职责 |
|---|---|
| Strategy(策略) | 定义相关算法API |
| Concrete Strategy(实体策略) | 继承Strategy实现相关API算法 |
| Context(上下文) | 上下文中持有策略实例,然后在上下文中定义相关API组织调用策略中的算法API |
-
角色关系:
Strategy.png
-
代码示例:Strategy
以上文献参考:《图解设计模式》