【发布时间】:2011-03-02 04:49:12
【问题描述】:
我有一个状态机有许多状态A--B--C--D--E。如果某些条件得到验证,我有很多从C 到A 的转换。对于每个状态,我都有一个扩展抽象类 State 的类,并且我有一个将每个转换方法委托给状态方法的管理器。问题是“国家可以直接调用经理转换方法吗?”。我在 Internet 上只看到过一个示例,其中有一个主类确切地知道转换发生了多少次(即insertQuarter()、ejectQuarter()、turnCrank()、dispense())。
我发现这样做的唯一方法是在状态中调用管理器转换方法。这是错误的做法还是不好的做法?
提前致谢 托比亚
【问题讨论】:
标签: java design-patterns state-pattern