问题:
对于 asp.net mvc 应用程序,我忽略域文件夹并将域模型写入单独的库项目中。
Visual Studio 具有这样的库项目,将在一个文件夹一个文件夹的基础上命名空间。例如,如果我的库项目被调用:
ES.eLearning.Domain
我有一个名为 Services 的文件夹,它会将 Services 文件夹中的所有类自动命名为:
ES.eLearning.Domain.Services
这一切都很好,但让我觉得有点矫枉过正。我的项目相对简单,因此不会发生类名冲突。即使有,编译器也会把它捡起来。
所以我只是手动将命名空间名称编辑为项目名称,即:
ES.eLearning.Domain
这样,在开发前端时,领域模型项目只是一个提供领域模型的黑匣子。而且我没有看到将命名空间名称耦合到项目文件夹结构的意义,而不是将其视为一个功能块。
于是出现了两个问题:
谢谢
注意:在我的项目命名中,ES 是客户端,eLearning 是应用程序,域是组件
PS:我在 SO 上发现的有关命名空间命名约定的其他问题解决了不同的问题。因此,据我所知,不是重复的。
最佳答案
为防止特定文件夹强制其内容使用文件夹名称作为命名空间部分,您可以右键单击该文件夹,选择“属性”,然后将“命名空间提供程序”更改为 False
.不过,这需要对它适用的所有文件夹进行,所以我不确定这是否真的完全回答了您的问题。
编辑 : 看起来像 ReSharper添加此功能。
关于asp.net-mvc - 域模型命名空间命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4671025/