iOS - 封装一个较为完整的网络请求类(思想 架构篇)

为什么要封装网络请求类

整个APP只使用用一个请求类

在使用实现思路的图在下面,可以对比着图看下面内容。


iOS - 封装一个较为完整的网络请求类(思想 架构篇)_第1张图片
请求.png

直接封装一个简易的tool,里面直接调用AF,返回responseObject直接返回, 这
样不行吗, 为什么要弄这么麻烦?
显而易见的优点大概有以下几点:

1,前后隔离AFNetworking,以后如果升级AF或者替换其他框架, 只需要改动直接与AF接触的网络请求类,避免对项目中业务代码产生影响(半小时完成从AF2.6升级AF3.0,重度使用的三方框架一般都要隔离一下)

2,将每个接口抽象成一个类,易于管理,按每个接口的需求构造请求(比如有的接口要缓存,有的接口不要缓存)

3,所有接口调用都经过网络请求,可以方便的在基类中处理公共逻辑(比如项目全部完成了,突然要用请求参数排序,加盐等方式加密)

4.不多次创建请求类 防止内存泄漏

5.通知中心 可通知所有关心此请求 请求失败还是成功 可完全知道是那次请求 和那次请求的具体参数 和请求来的数据

6.数据同步很方便 (例如点赞 收藏等功能)

你可能感兴趣的:(iOS - 封装一个较为完整的网络请求类(思想 架构篇))