我還沒有需要在.NET中創建一個DLL,因爲我的程序往往是彼此不同的(我也沒有編程長)。不過,我現在開始收集一些經常使用的方法庫,這些方法往往會在我的許多程序(或可能更通用的類似方法)中複製副本。什麼時候創建自己的DLL應該在什麼
據我所知,應該創建一個DLL來共享程序之間的常用方法。
因此,我可以把我的方法放在dll中,像定製對話框和常用窗體這樣的東西。我目前有一個自定義錯誤表單和一個打印預覽對話框,幾乎可以在我的所有程序中使用。將這些放入dll是否是一種好的做法?
我還沒有需要在.NET中創建一個DLL,因爲我的程序往往是彼此不同的(我也沒有編程長)。不過,我現在開始收集一些經常使用的方法庫,這些方法往往會在我的許多程序(或可能更通用的類似方法)中複製副本。什麼時候創建自己的DLL應該在什麼
據我所知,應該創建一個DLL來共享程序之間的常用方法。
因此,我可以把我的方法放在dll中,像定製對話框和常用窗體這樣的東西。我目前有一個自定義錯誤表單和一個打印預覽對話框,幾乎可以在我的所有程序中使用。將這些放入dll是否是一種好的做法?
在這種情況下,「良好做法」確實取決於您削減多少代碼重複。如果這些對話在很多程序中都使用並且佔用大量代碼,那麼可以,將它們移動到共享空間可能是一個好主意。
但不要試圖把所有東西都扔在那裏。你會發現自己必須重寫它,到那時你可能會寫出比以前更多的代碼。保持簡單。保持通用。保持它們有用。
但是,在開始之前,請注意您正在創建依賴關係樹。如果你更新你的圖書館機會,你將不得不花費一些時間來維護使用它的應用程序......但這與使用第三方庫無異。
要創建一個新的dll,只需將新項目(庫)添加到您的解決方案,並將其作爲項目引用添加到您的主程序。
可以將任何你想要的東西放到這個項目中。所有對話框,用戶控件等都只是類,所以您可以像任何其他類一樣輕鬆地共享它們。我認爲儘可能多地分享是一種很好的做法。
當然,爲什麼不呢?
你在這裏構建的實際上是一個小框架,非常像.Net框架本身。您認爲應用程序之間的所有內容都可以放在程序集中:表單,方法,業務邏輯,例外,通用數據訪問。
當你的框架增長時,你可能想分割出這個通用的DLL。例如,如果你在DLL中有常見的表單,並且你也開發了批處理應用程序,那麼他們不需要引用包含WinForms特定類的DLL。
或者,您可以將這些方法的源文件放在一個普通的位置,並將它們作爲鏈接添加到項目/解決方案中。