[设计模式学习笔记]状态模式
状态模式
三个组成部分:
- 状态
- 事件(转移条件)
- 动作
实现方式:
- 分支逻辑法.使用if-else或者switch-case进行状态的转移.这种方式不推荐,可读性和可维护性差.
- 查表法.将各种状态梳理后写进二维数组,然后通过查询数组进行状态的转移.推荐,可读性和可维护性高.但是这个方法也有局限性,仅支持简单的动作,不支持复杂的操作.
- 状态模式.定义一个接口,每个状态都继承自接口,实现所有的事件.还有一个类,依赖注入到状态类里,用于串起不同状态间的关系和同步一些共享信息.