4
希望是一個簡單的項目/構建設置。我正在尋找一款C#產品,註定可能有桌面(WPF),網頁,以及Xamarin提供的任意數量的移動構建輸出。DI的正確項目/構建設置
有幾個組成部分:
- 我有一個「CoreApi」項目,該項目擁有的接口和共享的模式,可以被要求寫任何應用前端(並實施寫後端)。
- 我還在另一個程序集中擁有所有「應用程序邏輯」 - 目前與MVVM模式中的View Models類似,但具有應用程序焦點。
- applogic中包含一個接口的平臺特定實現,它涉及動態生成用於播放的音頻緩衝區。獨立的項目/組裝
我正在使用Ninject,它運行良好。但隨着解決方案的發展,包括其他項目類型(網頁,移動客戶端),我可以預見一些'氣味':
當前客戶端項目引用了特定於平臺的(DirectX)音頻引擎和本地/測試實現的後端。它仍然使用Ninject,並且不直接引用實現類,但讓它們可訪問並直接引用,就像感覺不對。
我幾乎想有不同的 '套餐' 時,該解決方案基於:
- 套餐1:桌面客戶端+的DirectX引擎+後端X
- 包2:Web部署包與後端ÿ
- 包3:Android版本與後端X + Android的音頻引擎...
我在正確的軌道上?我真的想訴諸後期製作步驟,xcopying東西到目標文件夾?
無論如何你都要處理這個問題嗎?例如,Xamarin的包裝會做什麼? – penguat
我不知道 - 我不想依賴那個,因爲我不只是創建Xamarin包 –
真的,這個問題是關於更大的問題:我使用DI,但我應該如何組合不使用添加引用的不同實現模塊,整潔/乾淨的方式? –