简介
策略模式(Strategy Pattern)是一种行为型设计模式,它允许在运行时动态选择算法或行为。核心思想是将算法封装成独立的类(策略),使它们可以相互替换,让算法的变化独立于使用它的客户端。
核心思想
-
解耦:将算法的定义与使用分离。每个算法封装起来,使它们可以互换使用。
-
封装变化:将可能变化的算法封装成独立的策略类。
-
多态替代条件分支:通过接口/抽象类调用策略,避免复杂的
if-else
或switch-case
。
实现方式
角色 | 说明 |
---|---|
Context(上下文) | 持有一个策略对象的引用,通过接口调用具体策略。 |
Strategy(策略接口) | 定义所有策略的公共接口(通常是抽象类或接口)。 | <