State Pattern
04 Mar 2019状态模式
一种行为模式。消除庞大的分支语句,通过把各种状态转移逻辑分布到state的子类之间,减少相互间依赖。
复杂的状态转换逻辑被分散到各个具体子状态对象中,然后根据context的具体需求,context上绑定的状态为其交接其他状态
将特定的状态相关的行为都放入一个对象内,由于所有与状态相关的代码都存在于某个ConcreteState内,所以通过定义新的子类就可以很容易地增加新的状态和转换。
应用场景
- 一个对象的行为取决于它的状态,并且它必须在运行时根据状态改变它的行为时;
- 某项业务需要有多个状态,通常都是枚举常量,状态的变化依靠大量分支判断实现。