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