namespaces - 你如何使用命名空间?

标签 namespaces

命名空间非常酷:使用它们,您可以组织您的库,并且可以避免名称冲突。

嗯,这就是意图,我想。我认为很多人并没有像应该使用它那样使用它......每天,我都会看到 95 个字符长的命名空间散布着代码并隐藏了真正重要的信息。

下面是一个例子:

BigCorp.FrontOffice.MyApp.MySubDomain.Controllers.MyControllerXYZ xyzController = new 
    BigCorp.FrontOffice.MyApp.MySubDomain.Controllers.MyControllerXYZ( 
        BigCorp.FrontOffice.MyApp.MySubDomain.Const.MyValue1,
        BigCorp.FrontOffice.MyApp.MySubDomain.Const.MyValue2 );

你有这个意图吗?不,当然。它是:

MyControllerXYZ xyzController = new MyControllerXYZ( MyValue1, MyValue2 );

非常简单,没有命名空间,但无法理解...

那么,你如何使用命名空间?您对它们的最佳做法是什么?我们应该使用命名空间还是内部类?您的主项目使用了多少个命名空间? (目前,我的正在使用 210 个接口(interface)(!)和更多的命名空间——无法维护!)

在此先感谢您的回答,
西尔万。

最佳答案

这是一个问题帖子中的很多问题!

1) 为什么要使用命名空间?
正如您在问题中所述,它们是代码的一种组织方法。确实没有“一种方法”可以组织代码,因此通常命名的对象不会给您带来问题。创建一个类库可能使用与另一个库完全不同的机制。

2)我应该如何使用命名空间?
我更喜欢微软如何对其命名空间进行分组( see 3.5 name space map! )。按功能、继承等分组!命名空间只是另一个要使用的组织工具。话虽如此,我错在少即是多。正如您所说,命名空间可以隐藏代码,也可以隐藏其他开发人员的功能代码(哪个命名空间具有我需要的 gridrow 类?Grid 或 Row?)。我尝试仅在需要时才使用命名空间。叫我马虎,但到目前为止它对我有用!

总结:避免复杂性。不要过度分类您的代码。

关于namespaces - 你如何使用命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/441289/

相关文章:

c# - 为什么命名空间不被识别?

c# - 关于外部库和命名空间的问题

javascript - 使用 JSON 定义的函数时是否可以使用相对语法访问 JSON 属性?

XML DOM SelectSingleNode() 命名空间不返回节点

Delphi 中的 XML 命名空间

c++ - 在匿名命名空间中声明的常量与函数范围静态常量相比有哪些(缺点)优势?

c++ - 有没有办法用#define 替换长 namespace ?

python - 使用命名空间获取 lxml 标签属性

R 编写风格 - 需要与::

javascript - 在 javascript 中使用 xPath 解析具有默认命名空间的 XML