2 回答
TA贡献1811条经验 获得超6个赞
策略模式
首先,根据自有项目数据结构和应用场景,定义数据获取的接口(每个场景对于一个接口,可能会有多个接口),从而将接口定义和具体实现分割。模板方法
对于不同的实现方式(SDK、URL、Restful)定义主流程,比如Restful主流程包括:
a. 输入参数验证
b. 输入参数到restful参数转化(将接口输入参数,转化给restful参数)
c. restful接口调用
d. restful返回结果解析(成功、失败)
e. restful返回结果转化(将结果转化为自有数据结构)整合(接口定义来自1,实现通用部分来自2,差异部分来自3)
根据具体实现继承自2创建的模板类,并实现1创建的业务接口,通过完成模板回调方法,完成整个业务。其他
如果有其他需要,比如统一日志、统一性能监控,可以使用proxy模式
TA贡献1887条经验 获得超5个赞
根据你的描述我觉得可能这和设计模式没有关系。
而应该用分层设计。
比如典型的例子是:展示层,业务层,数据层。
展示层就负责接受请求,然后提供组装好的数据返回。
业务层就处理数据的转换组装,和业务相关的计算等等。它从展示层获得输入,处理后传给数据层,然后从数据层获得返回,处理后再返回给展示层。
数据层就是你想要的封装各种API的层,根据输入不同它可以去不同的数据层的对象,比如SDK,restful,然后数据层负责和所有第三方API交互,业务层和展示层不需要知道第三方API的存在,数据层和第三方API交互后,获得数据,转换成项目中的统一的数据结构,然后返回给业务层。
然后在数据层才会用到设计模式等,比如可以用工厂模式来创建不同的第三方服务。
添加回答
举报