2009-10-13 36 views
0

我即將着手開發一個將由多個項目使用的.NET類庫。我已經達到了我設計一個地步,我不是100%肯定它爲了我的命名空間應該嵌套在兩個選項我看到的是:命名空間名稱中術語的首選排序

共享項目採用

MyCompany.Common.Web 
    MyCompany.Common.Data 
    MyCompany.Common.Utils 

每項目然後使用

MyCompany.ProjectName.Web 
    MyCompany.ProjectName.Data 
    MyCompany.ProjectName.Utils 

或我翻轉過來,並使用

MyCompany.Web.Common 
    MyCompany.Web.ProjectName 
    etc 

這是considere d最佳實踐/更廣泛使用?我在網上看到過。就個人而言,選項1似乎更符合邏輯。

回答

2

建議的做法,我認爲如下:

Company.Product.Functionality

如果您有共享的功能,這將構成一個「產品」本身,在我看來。在那種情況下,我的習慣是命名該產品的「框架」。

因此,我們目前有:

Share.Framework.Data 
Share.Framework.Data.Oracle 
Share.Framework.IO 
Share.Framework.Security 

等。我們也有,

Share.[Specific product].Windows 
Share.[Specific product].Data 
Share.[Specific product].Payroll 

等等等等等等等。

你得到的圖片。 (BTW,Share是我們公司的名稱。)

0

我只會使用(2)如果這個代碼是項目特定的,這幾乎從來都不是一個好的假設。 (3)只有這些與網絡相關時纔有意義;關於.NET的好處之一是你可以在WPF/Winforms應用程序中重複使用你的代碼,或者僅僅使用其他任何東西。

我會堅持(1)。

相關問題