Dot-Net
.NET 命名空間
我的背景主要是作為一名 Java 開發人員,但最近我一直在做一些 .NET 方面的工作。所以我一直在嘗試在家裡做一些簡單的項目來更好地使用.NET。我已經能夠將我的大部分 Java 經驗轉移到使用 .NET(特別是 C#)中,但唯一真正讓我困惑的是命名空間。
我知道命名空間類似於 Java 包,但據我所知,主要區別在於 Java 包使用實際的文件夾來顯示分隔,而在 .NET 中則沒有,所有文件都位於一個文件夾中並且命名空間只是在每個類中聲明。
我覺得這很奇怪,因為我總是將包視為組織和分組相關程式碼的一種方式,使其更易於導航和理解。由於在 .NET 中它不能以這種方式工作,加班後,該項目顯得更加擁擠並且不那麼容易導航。
我在這裡錯過了什麼嗎?我必須這樣。我應該在解決方案中將事情分解成單獨的項目嗎?或者有沒有更好的方法來組織項目中的類和文件?
編輯:正如布萊爾指出的,這與這裡提出的問題幾乎相同。
我不能聲稱這是最佳實踐,但我經常看到文件組織在一個目錄層次結構中,該目錄層次結構反映了命名空間。如果它更適合您的程式碼心智模型,那麼就這樣做 - 我想不出有什麼害處。僅僅因為 .NET 模型不強制命名空間、項目和目錄結構之間的關係並不意味著如果你願意,你就不能擁有這樣的關係。
對於將程式碼分解成比您需要的更多的項目,我會有點謹慎,因為當您必須管理多個程序集時,這會減慢編譯速度並增加一點成本。
編輯:請注意,這個問題幾乎與解決方案中的文件夾是否應與命名空間匹配?