2009-01-15 25 views
3

在一個框架中,類的依賴關係應該在命名空間(根到葉)還是命名空間(將其視爲具有頂部根的倒轉樹)?應該依賴關係在命名空間樹上向下還是向下走?

我在描述這個困難時期,讓我們來看一個例子:

namespace foo 
{ 
    class snafu : fubar {} 
} 

namespace foo.bar 
{ 
    class tarfu : snafu {} 

    class fubar {} 
} 

在這種情況下,類tarfusnafu基類的依賴。依賴項遍歷命名空間樹。類snafufubar有一個基類依賴關係。依賴關係沿着命名空間樹走下去。

應該只依賴項遍歷名稱空間樹嗎?或者它應該是相反的?爲什麼它很重要?

我在.NET中開發,但如果它在其他平臺上有所不同,我也有興趣瞭解這些。

回答

2

由於您使用.NET,我強烈建議您匹配.NET框架的約定。這將保持您的代碼與框架一致。

因此,這意味着你應該這樣做:

namespace First 
{ 
    class Parent { } 
} 

namespace First.Second 
{ 
    class Child : First.Parent { } 
} 

而只是爲了澄清,它並不真正的問題,你怎麼辦,因爲C#編譯器就追加所有命名空間的類型名稱,以創建更長的類型更可能是獨一無二的。這就是爲什麼我認爲最好避免混淆並遵守慣例。

相關問題