<分区>
我有一个应用程序需要使用很多不同的枚举。应用程序可以分为多个层。为了示例,我们假设三个层:第 3 方分析库、应用程序业务逻辑和 UI/表示逻辑。
在许多情况下,所有层可能都需要一个表示相同概念的枚举。让我们以付款频率为例。 (例如年度、半年度、季度等...)。 第 3 方库提供了自己的枚举,业务逻辑层中的各种类需要一个类似的枚举,最后 UI 层可能需要它来在下拉列表中呈现各种选择等...
现在,通常我想通过不在该层的公共(public)接口(interface)中公开来自内部依赖项的类型来保护每一层的用户免受其内部依赖项和实现细节的影响。这意味着即使与第 3 方库的交互需要使用其自己的“频率”枚举,我也需要为业务层创建一个等效的“频率”枚举,并可能为 UI 层创建另一个……
所有这些都需要大量的来回映射,可能还有很多额外的映射器类。另一方面,冒险是每一层都可以决定从它自己的枚举版本中排除它不需要或不支持的值......
现在因为我必须处理很多的枚举,我只是想知道这通常是一件好事,还是我只是把事情复杂化了?