策略模式 (Strategy Pattern) 定义 定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。 类图 // 类图内容 适用场景 多个类只有在算法或行为上稍有不同的场景 算法需要自由切换的场景 需要屏蔽算法规则的场景 优缺点 优点 算法可以自由切换 避免使用多重条件判断 扩展性良好 缺点 策略类数量增多 所有策略类都需要对外暴露 代码实现 // 示例代码