我有一个State类和Transition Class。如何确保每个州都有相应的过渡?

时间:2009-11-05 00:50:11

标签: java

我正在建模一个小的状态图。每个“状态类都需要有它的转换类。我如何确保开发人员为每个状态类创建一个转换类?状态和转换都是从它们相应的Abstract类子类化。

编辑:我正在制作头部设计模式,我试图建立自己的状态。我被困在这里。不是作业。

2 个答案:

答案 0 :(得分:0)

在通用FSM中,状态节点可以具有任意数量的传入和传出转换弧(包括零传入 - 启动状态,或零传出 - 结束状态,但不包括两者)。问题并不像每个州的一次转变那么简单。状态和转换对象本身无法验证整个FSM。这必须从状态和转变的“外部”发生。

答案 1 :(得分:0)

如果您的State对象至少需要一个Transition,则需要在构造函数中使用Transition对象或Transition of Collection。

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