我正在建模一个小的状态图。每个“状态类都需要有它的转换类。我如何确保开发人员为每个状态类创建一个转换类?状态和转换都是从它们相应的Abstract类子类化。
编辑:我正在制作头部设计模式,我试图建立自己的状态。我被困在这里。不是作业。答案 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;
}
...
}