2017-10-10 98 views
2

將所有代碼合併到一個dll文件中更好嗎或者爲每個名稱空間創建單獨的項目更好?我認爲它不會以任何方式損害代碼的可讀性,因爲代碼在名稱空間中是分開的。組織圖書館的最佳方式是什麼

我的問題是:

如何庫的危害表現的大小?

+1

大量項目會導致一些開銷,但在性能方面可以忽略不計。它雖然會導致認知開銷,並且潛在問題像循環引用的更多機會。 – stuartd

+1

[大裝配和性能](https://stackoverflow.com/q/337144/1997232)。 – Sinatr

+0

謝謝@Sinatr,這就是我一直在尋找的! – ZuLeweiner

回答

1

這取決於它,但通常它會影響您的應用程序在初始負載。在你有依賴注入的情況下,由於依賴注入工具需要做一些工作來弄清楚,DLL加載將花費更長的時間。

關於應用程序直接引用其他項目或組件的顯式依賴關係,性能會在應用程序負載上受到影響,但應該不會因其存在而影響性能。所有這些當然不會考慮這些DLL,無論他們做什麼工作,它們的大小也會增加加載時間。

也有可能您的應用程序有插件,這些插件在加載時會降低性能。但是,如果發生這種情況取決於您的申請。

+0

因此,爲每個主題/命名空間創建多個DLL,然後讓用戶將它們分別添加爲引用會更好嗎? – ZuLeweiner

+0

這是一個難以回答的問題,因爲它涉及到您的應用程序的個別需求。在應用程序很小並執行特定任務的情況下,只有一個exe就足夠了。應用程序越大,將它分離爲不同的組件和庫的意義越大。特別是您想要在多個地方重新使用代碼的情況。考慮到它爲整個項目帶來的維護好處,加載DLL的開銷非常小,特別是在大型應用程序中 – DiskJunky

相關問題