我正在设置一个新的应用程序,包含一个Repository图层/程序集,一个Services层/程序集和一个UI程序集。
所以我最终得到了名称空间,例如:
App.UI App.Biz.Services App.Data.Repositories
然后我有所有3层使用的args的枚举。只有有意义的地方才能将它们放入横切组件中。 (在数据层中定义它们太低,因为UI应该没有直接引用它们,在服务中定义,对于存储库层来说太高了,不应该向上引用)。
但是...... Common中的哪个命名空间?命名空间应该主要用于定义关注点,而不是Type ...我总是使用类似的东西:
namespace App.Common.Enums {...}
但是总觉得有点黑客对我有用,但是在一个大的组织中并不是很好,每个人都在生成Enums,如果我们把它们都放在Enums文件夹中,那么以后的代码文件夹就会变得难以理解
有什么建议吗?
答案 0 :(得分:2)
我通常建议为共享枚举,接口和值对象使用专用程序集。 App.Interop
或App.Shared
或App.Data.Values
将成为我的命名空间建议。
答案 1 :(得分:0)
我一直在做的是创建一个Contracts程序集,其中的所有内容都在根应用程序命名空间中。我会在合同DLL中放置常见的东西,比如所有东西都需要访问的枚举。
该点的另一个好用途是接口。