在状态模式中,这是如何建模的?
状态A在触发器X上状态B,在当前状态为A
时状态C1状态A在触发器X上为状态C,在当前状态为A时为状态C2
这通常如何实现?我有很多保护条件,我可能需要实施。
答案 0 :(得分:0)
这是非常标准的,例如this example
[编辑基础不是作业!]
假设我理解正确:
X
)可以触发两个可能的过渡之一C1
或C2
)如果是这样,那就是使用保护条件的标准情况。语法如下:
X[C1]
作为转换A-> B上的标签,以及X[C2]
关于过渡A-> C。 C1& C2必须评估为布尔值,因此可以根据您的评论替换var==2
。即标签将变为X[var==2]
和X[var==3]
。
因为它在语义上是正确的,C1& C2必须在状态A中互斥 - 否则你有非决定论。
第h