有限状态机是一种用来进行对象行为建模的工具,其主要作用是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种操作。
处理各种事件和状态切换,把业务模型抽象成一个有限状态机,那么代码就会逻辑特别清晰,结构规整。
状态机的 4 要素:1.现态 2.条件 3.动作 4.次态
1.现态:是指当前所处的状态
2.条件:又称事件,当一个条件被满足将会触发一个动作,或者执行一次状态迁移
3.动作:条件满足后执行的操作,动作执行完毕就迁移到新的状态,也可以保持现有状态。动作不是必须的,当条件满足,也可以
不执行任何动作,直接迁移到新的状态。
4.次态:次态是相对现态的,次态一旦被激活,就是新的现态了。
tips:
1.动作执行完毕,则结束,而状态是稳定的,没有外部条件的触发,则会一直保持下去。
2.如果状态划分时,漏掉一些状态,会导致跳转逻辑不完整。仅在指定的状态下,执行指定的事件才会发生动作的执行导致状态的迁移,否则不会发生状态的跳转。