策略模式定义了算法族,分别封装起来,让它们之间可以相互替换算法 独立于 主体类把行为算法封装为一个接口,以将不同的「策略」赋予主体类 状态模式允许对象在内部状态改变时改变对象的行为具体点讲就是将「状态」封装成一个接口或者抽象类,对象内部存一个当前的状态类对象,对对象进行操作并可能发生状态转移时,调用具体状态类的override方法将状态和类解耦,对象对外暴露的就是这些操作,但是内部发生的状态改变不由对象来做,而是由状态类来做