架构 – 我应该在哪里定义枚举?

我正在设置一个新的应用程序,包括Repository图层/程序集,Services层/程序集和UI程序集.

所以我最终得到了名称空间,例如:

App.UI
App.Biz.Services
App.Data.Repositories

然后我有所有3层使用的args的枚举.只有有意义的地方才能将它们放入横切组件中. (在数据层中定义它们太低,因为UI应该没有直接引用它们,在服务中定义,对于存储库层来说太高,不应该向上引用).

但是…… Common中的哪个命名空间?命名空间应该主要用于定义关注点,而不是类型…我总是使用类似的东西:

namespace App.Common.Enums {...} 

但它总是让我觉得有点黑客对我有用,但是在一个大的组织中并不是很好,每个人都在生成枚举,如果我们把它们全部放在Enums文件夹中,那么以后就会让代码文件夹更难理解.

有什么建议?

最佳答案 我通常建议为共享枚举,接口和值对象使用专用程序集. App.Interop或App.Shared或App.Data.Values将是我的命名空间建议.

点赞