状态模式(State Pattern)
1. 概念
Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.
状态模式允许对象在其内部状态改变时改变其它的行为,对象看起来好像修改了它的类。
2. 应用场景
状态机(StateMachine)模型等场景
3. 优点
a. 结构清晰;避免了过多的条件语句
b. 体现了开闭原则、单一职责原则;每个状态都是一个子类,增加状态的话 只要增加一个子类即可。
c. 封装性好;状态的变换 放到类的内部实现
4. 缺点
新增一个state ,需要新增一个子类,子类很多
5. 代码实践:
JDK:
•java.util.Iterator
•javax.faces.lifecycle.LifeCycle#execute()
Android: TBD
网友评论