在职责链模式中,将条件语句改成多个职责类进行处理,如果不是自己处理,则自动转到下一个职责类,如果在转给下一个职责类进行处理前,需要修改当前的状态,此时就需要用到状态模式。
引例:电梯的运行过程,各种状态切换。
状态模式就是根据对象的状态不同,作出不同的行为。状态模式使代码中复杂而庸常的逻辑判断语句问题得到了解决,而且具体状态角色将具体状态和他对应的行为封装了起来,这使得增加一种新的状态变得十分简单。状态模式主要由三部分组成,抽象状态类,具体状态类和上下文类
[1] 郭峰.深入浅出设计莫模式[M].中国铁道出版社,2013(1):403-414.
原文地址:http://blog.csdn.net/dream_angel_z/article/details/45768133