2 回答

TA貢獻1811條經驗 獲得超6個贊
策略模式
首先,根據自有項目數據結構和應用場景,定義數據獲取的接口(每個場景對于一個接口,可能會有多個接口),從而將接口定義和具體實現分割。模板方法
對于不同的實現方式(SDK、URL、Restful)定義主流程,比如Restful主流程包括:
a. 輸入參數驗證
b. 輸入參數到restful參數轉化(將接口輸入參數,轉化給restful參數)
c. restful接口調用
d. restful返回結果解析(成功、失?。?br/>e. restful返回結果轉化(將結果轉化為自有數據結構)整合(接口定義來自1,實現通用部分來自2,差異部分來自3)
根據具體實現繼承自2創建的模板類,并實現1創建的業務接口,通過完成模板回調方法,完成整個業務。其他
如果有其他需要,比如統一日志、統一性能監控,可以使用proxy模式

TA貢獻1887條經驗 獲得超5個贊
根據你的描述我覺得可能這和設計模式沒有關系。
而應該用分層設計。
比如典型的例子是:展示層,業務層,數據層。
展示層就負責接受請求,然后提供組裝好的數據返回。
業務層就處理數據的轉換組裝,和業務相關的計算等等。它從展示層獲得輸入,處理后傳給數據層,然后從數據層獲得返回,處理后再返回給展示層。
數據層就是你想要的封裝各種API的層,根據輸入不同它可以去不同的數據層的對象,比如SDK,restful,然后數據層負責和所有第三方API交互,業務層和展示層不需要知道第三方API的存在,數據層和第三方API交互后,獲得數據,轉換成項目中的統一的數據結構,然后返回給業務層。
然后在數據層才會用到設計模式等,比如可以用工廠模式來創建不同的第三方服務。
添加回答
舉報