我倾向于喜欢在同一个编译程序集中的命名空间内收集类型 - 它使事情易于查找和引用易于管理。
但是,我看到过在项目和程序集之间拆分相同命名空间的示例(换句话说,为了访问完整的命名空间,您必须引用多个 dll)。
谁能给我一些很好的理由为什么你可能想以这种方式安排代码?
谢谢
我倾向于喜欢在同一个编译程序集中的命名空间内收集类型 - 它使事情易于查找和引用易于管理。
但是,我看到过在项目和程序集之间拆分相同命名空间的示例(换句话说,为了访问完整的命名空间,您必须引用多个 dll)。
谁能给我一些很好的理由为什么你可能想以这种方式安排代码?
谢谢
当我编写具有某些需要其他程序集的功能的库时,我通常会发现自己这样做。
例如,我刚刚编写了一些转换器来将 .NET 数据类型转换为 SQL 数据类型。其中大部分我保存在我的标准实用程序库中。然而,转换器System.Drawing.PointF
显然需要System.Drawing
. 我没有强制引用我的实用程序命名空间的所有项目来引用System.Drawing
,而是将我的库的那部分拉到同一命名空间下的单独程序集中。现在,如果您需要转换PointF
,您可以引用附加程序集,并在与所有其他程序集相同的命名空间中找到转换器。
我实际上在Programmers.SE上问过这个问题。