1

在一个实现中,我有很多状态,由布尔变量表示,这样当一个状态为真时,针对该状态的变量为真,而许多或所有其他状态为假。这不是一个好方法,因为我只是在编码之前计划我的解决方案,结果是这样的。现在我必须清理它。清洁的最佳解决方案是什么?

我在考虑枚举,为每个状态命名,这样一个变量可以包含状态名称而不是多个变量。但问题在于,还有一些与某些状态相关的其他信息,例如 Point 或 int 变量的一两个实例,它们仅适用于该状态。如果使用枚举,如何容纳它们?

在这种情况下,最优雅和最合适的解决方案是什么?

4

1 回答 1

0

看一下实现状态机的状态设计模式,而不是将状态映射到枚举,每个状态都是一个类,事件是状态类的成员函数。

于 2011-09-25T10:10:37.147 回答