Mar*_*ann 27
在Fowler的Refactoring中描述了枚举的问题,它被认为是代码气味.它与类型安全无关,而是强迫您switch
在代码中撒上语句,从而违反DRY原则.
该国模式是相同的结构的一个更好的模型,因为它可以让你实现和变化在同一类涉及到同一状态的逻辑.这也增加了内聚力并减少了类耦合.
我认为使用枚举是一件好事.它提供强大的类型安全性.
它们有时会有一些缺点,但这通常与预先不知道每个可能选项的情况有关.如果您有一组固定的选项,例如您的示例,那么强类型枚举是一件好事,不应该避免.