我的班级有3个州。在每一种状态下,它都会做一些工作,并进入其他状态,或者保持在相同的状态(95%或更多的情况下,它将保持在相同的状态)。我可以实现状态模式(我假设你知道它)。我很喜欢的另一种方法是:“状态模式”vs“每个状态的一个成员函数”?
我有一个每个状态的成员函数,还有一个指向成员函数的指针,它指向当前状态函数。当我想进入另一个状态时,我只是将该函数指针指向另一个状态函数。 (也许这不完全等同于状态模式,但在我的情况下它工作正常)。
我想这两种方式几乎是一样的。
所以,我的问题是:
- 哪种方案更好(取决于什么)?
- 是否值得为每个状态声明一个类(它只有一个函数)?我认为这是人为的。
- 性能怎么样?没有创造新的国家阶级对象(在国家模式的情况下)带来轻微的开销? (当然状态类不应该有会员,但无论如何,它应该花费的东西)
如果您的代码工作那么代码审查可能是因为它在正确的地方。 –
我的问题是一般,不与我的代码连接。 – user1289
考虑浏览/张贴程序员板然后 –