Java设计模式——状态模式
2017-12-01 本文已影响11人
icyage
Java设计模式之状态模式
这期分享一个行为模式中的状态模式,状态模式是行为模式中的最后几个模式了。希望多多关注交流。
简介
一个对象中在状态改变的时候允许改变其行为,让对象表现出改变行为的现象。
上下文(Context)——定义客户端需要的接口,维护一个具体状态的对象
状态接口(State)——定义一个封装了Context的特定行为接口
具体状态(ConcreteState)——实现状态接口的方法
应用场景
- 对象依赖于状态来决定处理逻辑
- 在运行时需要动态决定执行逻辑
实例
定义通用的结构
输出
总结
该模式主要解决问题是条件表达式过于复杂的场景,我们通过状态的控制转移到状态的各个实现类中。这样可以简化实现逻辑,解耦状态与上下文的之间的关系。