你好,我想请教个问题,我在设计网络层的时候用到以下如图那种模式,请问有什么弊端?

你好,我想请教个问题,我在设计网络层的时候用到以下如图那种模式,请问有什么弊端?谢谢。思路就是在model里面实现请求数据封装数据,具体类调用时候通过block返回装载model的数组。

original.jpg

回答:

  1. 没有针对API的request做封装。

一个API请求的组成不是只有URL的,还包括请求的header,header中有很多元素需要应用提供,例如公共参数,请求token等。

  1. 没有拆分请求

我提倡的是离散型API请求,这个在文中已经论述过了。如果你不拆成离散型API请求,你就很难针对每一个请求的中途事件做切点。举个例子:如果你的应用调用一个需要登录用户才能调用的API,而此时你的用户token失效,你怎么处理?

  1. 你采用了对象化的方式去交付数据。

这就导致你的业务层必须要声明你的Model,使得你的业务层组件如果要迁移或者复用,就必须带着你的网络层一起复用。

  1. 集约型和离散型请求

你在面向业务服务时,提供的还是集约型请求,这个我在文章中已经论述过了。

  1. block回调

由于你是集约型请求,所以你不得不采用block作为回调。然而这事实上是没有必要的,文章中已经论述得很清楚了。

你这种模式的弊端其实我在文章里面都已经详细列举了,你如果仔细阅读文章的话,你不应该问我这个问题。至少应该问:为什么是这样做而不是那样做?我觉得你对比文章就可以列举出弊端来。希望你下回问点有质量的问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容