嘿,在这里,我试图为这个场景绘制状态机图,但是它缺少很多信息。如果这里有人能帮忙的话。
情景
我的画:

发布于 2017-06-20 20:15:51
好吧,我试着给你一些提示。状态机总是为单个类创建的,而不是正在考虑的整个系统。因此,让我们假设ATS是一个单独的类(实际上,它可能更多地是由几个类组成的组件)。现在安非他明类兴奋剂在一开始将是闲置的。当选择旅行时,会以某种方式触发它。然后,它必须完成旅行的细节。它等待付款,最后它会吐出一张票。现在(基本上!)状态机如下所示:

这是一个脚手架,是在没有阅读上面的细节的情况下完成的。请注意,您可以使用来自可中断区域的一般异常来代替cancel转换,这将最终清除支付。在实践中,您可能会这样做,因为取消应该(从用户的角度)在任何时候都是可能的。当然,抽出时间也是可能的(如果已经支付了一些现金怎么办?)
另外,我没有包括do/entry/exit操作。对于现金,这将是类似于add new cash sum,所以我们知道什么时候支付了足够的钱。
https://stackoverflow.com/questions/44628613
复制相似问题