2008-09-11 28 views
0

這是一個後續的問題:什麼是通常在存儲庫結構中完成以反映已部署的單元?

Should the folders in a solution match the namespace?

對這個問題的共識是一個合格的「是」:那就是,文件夾命名空間==一般,但不是盲目地(Java的方式需要)。

的確,這就是我設置項目的方式。

但是設置源代碼控制讓我猶豫了我目前的文件夾結構。與.NET Framework一樣,我的項目中的命名空間並不總是與部署的單元一一對應。假設您有

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

換句話說,子名稱空間可能隨父件提供,也可能不附帶。

那麼,以任何方式組合在一起部署的名稱空間也是如此嗎?

順便說一句,我不使用VS或NAnt —只是很好的老式建立批次。

回答

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如果這些名稱空間是最重要的。

相關問題