2010-03-16 111 views
0

我把不同的組件放在不同的DLL中,然後最終發現我有太多的DLL,我應該把一些DLL放在一個DLL中,但使用命名空間來分隔它們?物理或邏輯分離我的dll?

回答

3

您不必爲一個名稱空間構建一個程序集。也許你可以在一個程序集中使用嵌套的命名空間。只要儘量避免拆分幾個程序集之間的名稱空間,事後再輸入項目時就很難理解。

+0

至少我應該把什麼是靠近一個DLL,對不對? – Benny 2010-03-16 15:15:37

+0

是的。在程序集中定義的類應該傾向於相同的目的。 – Seb 2010-03-16 15:17:09

1

您還可以在構建過程中使用ILMerge,以便可以將許多項目合併到一個DLL中。

2

是的,個人建立一些庫時,我傾向於把所有相關的功能放在一個程序集中。我經歷的基本經驗法則是,如果單個DLL依賴於以任何方式相關的另一個DLL,我通常會將它們組合成一個DLL。當然,這兩個項目都在同時開發。

+0

不錯的主意。感謝分享。 – Benny 2010-03-16 15:23:11

1

我通常使用DLL來執行架構約束。例如,我不希望我的數據層知道有關業務層的任何信息。當這導致太多的程序集(並且很長時間來編譯)將它們移到一起可能是明智的。在這種情況下,您可以使用像NDepend這樣的工具來檢查您的架構限制。