在我的項目中有兩個不同的模塊(A和B)。模塊B也是可選的。但是,只有在安裝模塊B時,模塊A中才有從模塊B獲取數據的功能,。從可選服務獲取數據的設計模式
是否有這種情況,而不是通過查看模塊B的存在禁用功能的任何設計模式?
在我的項目中有兩個不同的模塊(A和B)。模塊B也是可選的。但是,只有在安裝模塊B時,模塊A中才有從模塊B獲取數據的功能,。從可選服務獲取數據的設計模式
是否有這種情況,而不是通過查看模塊B的存在禁用功能的任何設計模式?
是的,設計模式是多態。使模塊A
抽象並創建兩個子類。
A1
總是使用B
。A2
從不使用B
。常見的邏輯仍然A
。在運行時,檢查B
是否存在,然後注入適當的A
的子類。
你可以用一個實際的執行和實施null pattern用於引入B單元的API。接線時您的應用程序,你可以選擇使用哪一個,這取決於模塊B.
空模式的實現應該表現的可用性,使模塊A不知道模塊B是否存在與否。你說的話是什麼意思
在「如果安裝模塊B」「安裝」?並且你使用'模塊A中的功能'一詞來引用A的方法? –