2011-09-24 71 views
1

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

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

什么是这些情况下最优雅和适当的解决方案?

+1

您的问题过于复杂,只与通常不适用于全球互联网用户(即您的应用程序)的非常狭窄的情况有关。尝试将问题分解成单独的问题,其答案可能也会帮助其他用户。 – dtb

+0

已修复,我的所有应用程序特定问题已删除,只剩下一个常规问题。 – SpeedBirdNine

回答

0

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