策略模式中定义一系列算法,并把每个算法封装进对象,使它们可以互相替换。策略模式让算法可以独立于使用它们的客户而独立变化。具体选择哪个算法,由客户根据自身的逻辑决定。
Context 上下文角色,持有具体策略对象的引用
Strategy 抽象策略角色,为所有具体策略角色定义公共接口
ConcreteStrategy 具体策略角色,封装算法或行为