STRATEGY(策略)-对象行为模式
1.意图定义一系列的算法,把它们一个个封装起来,并且使它们可以互相替换。使得算法独立于客户而变化。2.适用性许多相关的类仅行为有异:提供了一种用多个行为中的一个来配置一个类的方法。需要使用一个算法的不同变体:这些变体实现为一个算法的类层次时。算法使用客户不该知道的数据:以避免暴露复杂的、与算法相关的数据结构。类中的操作以多个条件语句的形式出现:将相关的条件分支移入它们各自的Strategy类