[問題] dll呼叫問題

看板C_Sharp作者 (麋鹿)時間15年前 (2011/01/16 19:23), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
小弟目前練習 Viusual studio C#, 在撰寫時有用到加入 dll參考, 雖然功能是沒問題, 但感覺寫法不是很 smart, 所以想請教是否有更好的寫作方式 我有好幾個 dll檔(ex: lib1 lib2.....lib10), 每個 dll都有如下同樣名稱的 class public class Message_Show { public List<string> show() { List<string> msg = new List<string>(); .... return (msg); } } 我在主程式將那些 dll 加入參考 using lib1 ... using lib10 之後在程式中使用時 必需依照狀況去判斷去使用哪個名稱空間的 Message_Show if ( i == 0 ) { lib0.Message_Show msg = new lib0.Message_Show(); ... } ... else if ( i == 10) { lib10.Message_Show msg = new lib10.Message_Show(); ... } 雖然這樣是可以達到目的, 但是這似乎不是 C# 的精神, 如果有數十甚至上百個 dll 檔, 每個 dll 檔又有好幾個 class, 那當我主程式需要呼叫 dll 檔的某個方法時, 都要做一長串的判斷, 在設計和維護上並不是個好的撰寫方式, 不知在這方面有什麼好的方式可以避免這種問題的發生? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.250.221.213

01/17 01:39, , 1F
如果這些class都繼承同一個base class 可以用factory
01/17 01:39, 1F

01/17 01:40, , 2F
Message_ShowBase c = MessageShowFactory.Create(i);
01/17 01:40, 2F

01/17 03:58, , 3F
推樓上的Factory Pattern~顛覆依賴守則...
01/17 03:58, 3F
文章代碼(AID): #1DCjKe9G (C_Sharp)