加载中...

| 类别 | 设计模式 |
| 英文名 | Strategy Pattern |
| 类型 | 行为型模式 |
| 领域 | 软件设计 |
策略模式(Strategy Pattern)是一种行为型模式,它定义一系列算法,将每一个算法封装起来并使它们可以相互替换,从而让算法的变化独立于使用它的客户端。
将易变的算法或行为从宿主类中抽离,通过组合在运行时动态切换,避免使用大量的条件分支语句。
包含抽象策略(Strategy,定义算法的公共接口)、具体策略(ConcreteStrategy,实现不同算法)和环境(Context,持有策略引用并委派调用)。客户端根据需要将不同的具体策略注入环境。
优点:消除条件分支,算法可自由切换与扩展,符合开闭原则。缺点:客户端必须了解各策略的区别才能选择;策略类数量增多,且每个策略类带来一定开销。

| 类别 | 设计模式 |
| 英文名 | Strategy Pattern |
| 类型 | 行为型模式 |
| 领域 | 软件设计 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧