介绍
状态模式把对象的行为包装在不同的状态对象里,每一个状态对象都有一个共同的抽象状态基类。
状态模式的意图是让一个对象在其内部状态改变的时候,其行为也发生改变。
定义
当一个对象在状态改变时允许改变其行为,这个对象看起来像是改变了其类。
Android 源码中的状态模式
Wi-Fi 管理中的状态模式,wifi 管理的状态模式中,状态之间并不是跨越式转换的,当前状态只能转换到上一状态或者下一状态,通过 State 类是 wifi 状态的基类,不同状态下就是依赖这个类的实现类的函数实现不同的行为。
实战
- 抽象状态操作基类
- 不同状态的实现类
- 声明状态管理类,在状态管理类中声明状态基类对象,并声明修改状态基类对象的方法
- 在是用时操作状态管理类的方法完成操作
网友评论