我有一个状态类和转换类如何确保每个状态都有相应的转换?

xqnpmsa8  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(257)

我正在为一个小的状态图建模。每个“状态”类都需要有它的转换类。如何确保开发人员为每个状态类创建一个转换类?状态和转换都是从它们相应的抽象类中派生出来的。
编辑:我当时正在研究头先设计模式,我试着创造自己的状态。我被困在这里了。不是家庭作业。

6jjcrrmo

6jjcrrmo1#

如果状态对象至少需要一个转换,则在构造函数中需要一个转换对象或一组转换。

class Transition { ... }
class State {
  Collection<Transition> transitions;
  ...
  State(Collection<Transition> t){
    //make sure the collection is non empty
    ...
    //save the transition
    transitions = t;
  }
  ...
}
13z8s7eq

13z8s7eq2#

在一般的fsm中,状态节点可以有任意数量的传入和传出转换弧(包括零传入-开始状态或零传出-结束状态,但不能两者兼有)。问题并不像每个状态一个转换那么简单。state和transition对象本身无法验证整个fsm。这必须在状态和转换的“外部”发生。

相关问题