我有一个 C# N 层项目,有 5 层: 1-基础设施 2-域 3-应用服务 4-分布式服务 5-演示
我想在我的项目中使用枚举。但我不知道哪一层描述它们。我对此有两个想法。
1-在Domain中声明枚举并通过WCF DataContract通过网络传递。
2- 在类库项目中声明枚举(例如:在公共(public)层中)并将其构建为 dll 并在所有层中使用它。
帮我选一个。
最佳答案
我想分享我对这个问题的看法:
策略 1:域层定义枚举
AddressType
(具有 Home、Work...)。 服务层定义了另一个枚举AddressTypeDto
,其中包含所有值Home、Work...),它们实际上从AddressType
==>AddressTypeDto映射
。在表示层上,还将使用AddressTypeDto
类型。策略 2:创建一个层(
不是真正的层
),其中包含常见的枚举类型,并在域/服务/演示的不同层中使用它
S1:它使所有层域/服务/表示独立,但需要更多类来表示相同的事物。
S2:它使所有层域/服务/表示独立,但需要它们依赖于“通用”dll。
我看到了实现这两种策略之一的应用程序。我将选择策略 2
,因为它更有效。几乎应用程序经常有共同的东西,一些枚举类型应该存在。
关于c# - 我应该在哪一层声明枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24482646/