首选命名空间命名约定

时间:2010-11-18 09:24:41

标签: .net visual-studio namespaces namespace-organisation

我最近重构了一个中等大小的应用程序,其中一个工作就是将常用的代码拆分到不同的项目中。

现在,让我们说常用的命名空间结构是

Core.Interfaces - 主要应用程序 界面为IFoo

并且对于每个专门/外部/引用的程序集,我决定对其进行扩展,例如

Core.Interfaces.Html 界面为IBar

主应用程序的Core程序集位于名为Core的项目中,默认名称空间为Core,而对于Html程序集,我创建了一个名为{{1的项目默认命名空间为HtmlCore

结果效果(以及我选择此特定方法的原因)是,一旦引用Core程序集,Html语句就不必更新,净效果为

using

或使用Core.Interfaces.IFoo fooIf; Core.Interfaces.Html.IBar barIf; 的using语句转换为

Core.Interfaces

这个隐式命名空间结构是依赖关系的直接结果,它确实很好地帮助了我们,因为它使项目命名空间维护变得更加容易,而且人们必须拥有的唯一东西就是对程序集的引用。该结构类似于微软已经在.net框架上所做的。

问题是我有第二个想法和(对于未来的项目)我正在考虑一个明确的每个程序集的命名空间结构,如:

IFoo fooIf;
Html.IBar barIf;

那么,有没有人使用过显式结构,甚至还有其他一些我没试过的东西?我愿意接受建议,我正在寻找最佳解决方案,因为目标是在开发过程中节省团队维护和混乱的时间。

1 个答案:

答案 0 :(得分:1)

组织您的命名空间,但是您认为适合您的项目。命名空间用于逻辑分离以避免命名冲突,但显然非常适合组织代码。

请记住,您始终可以使用别名。