《游戏编程模式》读书笔记之二 - 状态模式
有限状态机FSM
- 定义状态接口或抽象类,为每个状态定义类
- 进行状态委托
- 入口行为、出口行为
- 对于HFSM,可用子类继承父类,父类和子类各为一层
有限状态机和状态模式的区别
在CSDN论坛的一个帖子讲:有限状态机与状态模式的区别
看到阎宏的跟帖,说的很贴切,毕竟大神级人物
后来又看到另一篇帖子:大家觉得阎宏的《java与模式》写的怎么样
http://bbs.csdn.net/topics/30394369,跟帖很精彩,感觉程序员的世界就应该是一个武林,天下风云出我辈
(1)“大多是情况下,状态实例没有其它数据字段,应当使用单例模式”,这是错误的,单例模式不是干这个的。
- 复杂一点的状态都有继承机构,单例不适合继承
- 应当使用不变模式(来自于java与模式一书)
(2)状态机比状态模式广泛
- 状态模式是对象的行为描述,接收状态的转换
- 状态机着重于定义状态转换,一个状态机的实现可能使用多个设计模式,状态模式只是之一