清理/压缩由布尔变量表示的多个状态

时间:2011-09-24 22:54:00

标签: c# wpf boolean state code-cleanup

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

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

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

1 个答案:

答案 0 :(得分:0)

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