我正在爲多個客戶端創建一個應用程序,每個客戶端的實現之間有相似之處和不同之處。我爲ORM的UI和實體框架使用了Win Forms和WPF的組合。我需要的是儘可能重用共享組件的能力。針對多個客戶端的多個項目的方法
其中的一個關鍵問題是,一個客戶的數據庫是Oracle,另一個是MS SQL,現在我有兩個工作,但只能通過改變在編譯時元素。這意味着我必須有兩套幾乎完全相同的項目,只是略有不同的數據項目。如果在一個UI中發現錯誤,我必須打開另一個解決方案並在那裏編輯它。
我在之前的項目中使用過Ninject,儘管可能會以某種方式顛倒Data項目的控制權,將特定的項目/類注入到UI中,而不是直接調用它們的UI。
,我似乎無法弄清楚的問題是如何注入整個項目。我希望能夠在UI db.Customers.ToList();
中說出並讓它從我注入的任何數據項目中返回客戶。這兩個客戶端的數據庫模型在這一點上是相同的,儘管他們將來可能會改變。
我敢肯定,必須有一個可以讓我在一個共享能力使用這些資源的模式。
謝謝
您不應該將客戶項目拆分爲不同的解決方案嗎?您是否嘗試過將沒有客戶端特定內容的「核心」解決方案製作成類庫(或庫),然後製作客戶端解決方案並引用這些DLL? –