我有两个枚举,在两个包中。我可以有 1000 个枚举,没有 1000 个包,因为我正在研究一种“单元”架构,每个单元都必须有自己的枚举。
我不想让每个常量都在同一个枚举中以最大化凝聚力。
问题是每个枚举基本相同,除了常量(适用于每个单元)
所以,我需要重复很多代码,而我不想这样做(例如,我的枚举实现了侦听器,并且方法逻辑是在每个枚举中复制/粘贴)。
我在互联网上查看了枚举扩展模式。我找到了可扩展的枚举模式。
这不完全是我需要的。
我正在尝试找到一种解决方案来将我的常量保存在不同的包中,在不同的单元中,但我想要一种抽象类,位于我的枚举可以扩展的包层次结构的顶部。这样,我只能编写一次方法逻辑。
我知道枚举不能扩展类,它们只能实现接口。
这是我想做的不工作的 UML 草图:
我怎样才能做到这一点?有图案吗?
几个枚举如何扩展一个包含用于这些枚举的方法的类?(可重复使用的)
编辑提示:
我需要.values()
从枚举中使用,因为我需要使用常量进行迭代。