0

这是对该问题的跟进:

解决方案中的文件夹是否应该与命名空间匹配?

对这个问题的共识是一个合格的“是”:也就是说,文件夹 == 命名空间,一般来说,但不是盲目的(java 需要的方式)。

确实,这就是我设置项目的方式。

但是设置源代码控制让我对当前的文件夹结构犹豫不决。与 .NET Framework 一样,我的项目中的命名空间并不总是一对一地匹配部署的单元。说你有

库-> lib.dll
lib.data -> lib.dll
lib.ecom -> lib.ecom.dll
lib.ecom.paypal -> lib.ecom.paypal.dll

换句话说,子命名空间可能会或可能不会随父命名空间一起提供。

那么部署在一起的命名空间是否以任何方式分组?

顺便说一句,我不使用 VS 或 NAnt——只是使用老式的构建批次。

4

1 回答 1

1

我通常不会真正考虑这一点,只是做“感觉正确的事情”,但通常我最终会使用非常适合以下策略的名称。

我将使用树中最高的公共命名空间作为 .dll 名称,就像您正在做的那样;

使用 lib 和 lib.data,这是 lib,因此 dll 称为 lib。对于 lib.ecom 和 lib.ecom.paypal,这是 lib.ecom,因此 dll 称为 ecom。

在某些情况下,您需要多考虑一些事情,例如我们有以下命名空间(警告,简单示例即将出现),我们希望将它们分组到两个 dll 中

myapp.view
myapp.presentation

myapp.model
myapp.dataaccess

我们不能使用 myapp,因为那样我们就会有两个 myapp 程序集。在这种情况下,我使用最合适的命名空间名称。如果这些命名空间是最重要的,第一个可能称为 myapp.presentation 和第二个 myapp.model。

于 2008-09-11T08:59:10.453 回答