1
假設我有一個項目A,它引用了項目B.B中定義了一些類,A有一個接口ISomething,其實現位於A中,並使用B的類。然後我想創建項目C和A的另一個接口實現,它使用C的類。問題在於:我想將此接口的實現移至相應的項目,以便我可以定義要在構建腳本中使用哪個項目並省略其他項目。儘管如此,我仍然希望保存接口和它的實現之間的連接,以便使用這個接口的大量已經存在的代碼。到目前爲止,我一直在思考了以下選項:分離接口和實現
- 使用適配器模式在項目A,返回ISomething,同時引用實現和實施適應B的如果C丟失,反之亦然。從我的角度來看,所有接口實現關係都是無用的創建包含接口並由A,B和C引用的項目D,然後在此項目中解析其中一個實現的接口。一個項目接收具體的實例並使用它。這意味着我需要創建另一個庫並污染存儲庫。
什麼樣的選擇更好,還有其他嗎?
您是否需要將實現保留在單獨的項目中?即不希望代碼在某些版本中存在? –
我的主項目針對多個平臺,我使用腳本根據運行腳本的參數生成特定的解決方案文件。我想要的是定義新的參數,它將指定我想在解決方案(B或C)中使用哪個項目,這就是爲什麼我想要在單獨的項目中移動實現 –