我该如何设计这个自动跳转状态的程序?
比如我现在有一个类M,他有一个状态属性state,有3种状态A,B,C,每变到一个状态,他需要做一点操作,然后改变成下一个状态。
现在我实现的代码如下,很简单,但是会有个致命的问题,从第一个函数进去后,一直不会返回,随着程序进行下去,函数栈会越来越大。
开始我以为这可以用状态模式来解决,但是问题在于状态模式执行行为是在外面的,我现在需要每次跳转到一个新状态,就立刻执行一些事情,然后跳转到下一个状态,他是自发的。
我应该如何设计这个程序,防止函数一直跳不出来呢?
`
class M {
State state;
func a() {
doSomethingA();
self.state = B;
b();
}
func b() {
doSomethingB();
self.state = C;
c();
}
func c() {
doSomethingC();
self.state = A;
a();
}
}
`
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论