0x01
在不同的状态下,对同一行为有不同的响应。状态模式把对象的行为包装在不同的状态中,每一个状态的对象都有一个相同的抽象状态基类,并实现基类对应的方法。这样当一个对象的状态发生改变时,其行为也会随之改变。
个人总结:状态模式的目的就是将对象的状态改变 和 相关状态行为的改变独立封装。
0x02
State:抽象状态类或者接口,其中的方法表示对应状态下的行为。
StateA、StateB:State的具体实现类,以实现对应状态下具体的行为。
Context:维护当前对象所对应的状态。
0xff
参考:
http://www.jianshu.com/p/58a91072b737
http://www.jianshu.com/p/38429c1f8e8f
http://blog.youkuaiyun.com/hguisu/article/details/7557252
http://blog.youkuaiyun.com/relicemxd/article/details/61422036