摘要:
1.把这个东西跟数字电路里面的时序电路类比就很好理解,记住糖果机的例子也OK。 2.主要利用将每一个状态封装成一个类的办法,来使复杂的状态转换逻辑变得简单,而且容易扩展。利用了C++的多态性,状态机只要用当前状态指针调用当前状态的方法即可,不用关心各个状态的具体内部实现。这就造成了当状态机状态改变时,它的行为也改变了。它与一般多态的区别在于,对对象方法的调用会改变对象的当前状态,跟策略模式的主要区别也在于此。3.这个模式主要适用于状态转换没有通用规律,而是来自于客户需求的情况,如果状态转换间有通用的规律,则不用将每个状态写成一个类,只要用通用的代码实现各个状态间的自动转换即可,比如AC自动机。 阅读全文
posted @ 2011-08-09 10:01
顾小慢
阅读(400)
评论(1)
推荐(0)
2011年8月9日