网站大量收购独家精品文档,联系QQ:2885784924

5.4Iteration3状态图.ppt.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.4Iteration3状态图.ppt

Agenda 状态图的几个例子 状态图介绍 设计CreationTool状态图 设计Selection Tool状态图 Implementing State Diagrams Implementing State Diagrams nested switch the State pattern state tables. public void HandleEvent (PanelEvent anEvent) { switch (CurrentState) { case PanelState.Open : switch (anEvent) { case PanelEvent.SafeClosed : CurrentState = PanelState.Wait; break; } break; case PanelState.Wait : switch (anEvent) { case PanelEvent.CandleRemoved : if (isDoorClosed) { RevealLock(); CurrentState = PanelState.Lock; } break; } break; case PanelState.Lock : switch (anEvent) { case PanelEvent.KeyTurned : if (isCandleIn) { OpenSafe(); CurrentState = PanelState.Open; } else { ReleaseKillerRabbit(); CurrentState = PanelState.Final; } break; } break; } } } State Pattern state table approach state table approach captures the state diagram information as data We then build either an interpreter that uses the state table at runtime or a code generator that generates classes based on the state table. * Fig. 29.3 * 直到endSale事件发生后,执行makeCreditPayment操作才合法 显示的都是系统事件 非强制性,对含有大量系统事件复杂用例很有用,如字处理软件 * telephone subscriber 电话用户 合法的电话用户 * 进入/退出动作:进入/退出时,不管什么转换,总要执行的动作 内部转换:不导致状态改变的转换。不离开当前状态而处理事件(自身转换激发进入/退出动作,内部转换则不激发) 活动:对象处于某个状态时持续做某些工作,直到被其他事件中断 * 创建一个图形元素时 Tool接收到move消息,若前面鼠标按下了(接收过press消息),且鼠标未抬起(无 Release消息),则灰色显示轮廓,表明图形大小。否则不动作 * Create * 前面分析的是创建元素,现在换一个,用户选择的时选择工具, 1. Move * state machine diagram of the controller class 一开始,门关着,找到烛台,移走烛台,看到了锁,这时候如果直接开锁,跳出一只killer rabbit,正确做法是将烛台放回去,才可以拿钥匙开门,这时保险箱就开了。关上保险箱后回到Wait状态 移走烛台 并且门是关闭的 才能找到钥匙(key turned) 找到钥匙需要将烛台放回去才可以开门 初始:initial pseudostate ----not a state but has an arrow that points to the initial state final state:状态机结束,对象被删除 * 状态: PanelState.Open /PanelState.Wait/ PanelState.Lock :

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档