策略模式和状态模式非常像,都是利用抽象类(协议)定义一套函数,再通过不同的对象实现;

简而言之,策略模式是多个对象实现相同的函数,但具体实现的逻辑不同,而且这些对象之间可能毫无关联; 而状态模式是同一个对象,针对不同的状态展开不同的实现;