sheng的学习笔记-设计模式-状态模式

原理图:
 

状态(State)模式的定义:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 
每个人、事物在不同的状态下会有不同表现( 动作),而一个状态又会在不同的表现下转移到下一个不同的状态( State)。最简单的一个生活中的例子就是: 地铁入口处,如果你放入正确的地铁票,门就会打开让你通过。在出口处也是验票,如果正确你就可以 ok,否则就不让你通过(如果你动作野蛮,或许会有报警( Alarm)。 有限状态自动机( FSM) 也是一个典型的状态不同, 对输入有不同的响应(状态转移)。通常我们在实现这类系统会使用到很多的 Switch/Case 语句, Case 某种状态, 发生什么动作,Case 另外一种状态,则发生另外一种状态。但是这种实现方式至少有以下两个问题: 1) 当状态数目不是很多的时候, Switch/Case 可能可以搞定。 但是当状态数目很多的时候(实际系统中也正是如此), 维护一大组的 Switch/Case 语句将是一件异常困难并且容易出错的事情

sheng的学习笔记-设计模式-状态模式最先出现在Python成神之路

版权声明:
作者:siwei
链接:https://www.techfm.club/p/4015.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>