有限状态机FSM
- 定义状态接口或抽象类,为每一个状态定义类
- 进行状态委托
- 入口行为、出口行为
- 对于HFSM,可用子类继承父类,父类和子类各为一层
有限状态机和状态模式的区别
在CSDN论坛的一个帖子讲:有限状态机与状态模式的区别
看到阎宏的跟帖,说的很贴切,毕竟大神级人物
后来又看到另外一篇帖子:你们以为阎宏的《java与模式》写的怎么样
(1)“大可能是状况下,状态实例没有其它数据字段,应当使用单例模式”,这是错误的,单例模式不是干这个的。
- 复杂一点的状态都有继承机构,单例不适合继承
- 应当使用不变模式(来自于java与模式一书)
(2)状态机比状态模式普遍
- 状态模式是对象的行为描述,接收状态的转换
- 状态机着重于定义状态转换,一个状态机的实现可能使用多个设计模式,状态模式只是之一