核心思想就是:当对象的状态改变时,同时改变其行为
android中使用状态模式的例子比较多,WIFI,蓝牙,网络连接等状态管理,
如在WIFI管理方面,就提供了:
WifiStateMachine、P2pStateMachine、WifiController、WifiApConfigStore、WifiWatchdogStateMachine五个状态机
来管理WIFI相关功能的不同状态。
每个状态机对象在状态模式中起到Context作用,用来汇聚相关状态,启动状态执行等。
ANDROID系统中每个状态机管理的状态都派生自State类,State类是IState接口的实现。
WifiApConfigStore管理的状态图如下: