Skip to content

sweetKnight/SWRequest

Repository files navigation

SWRequest

一个离散型的网络库 在大多app中基本的模式都是,从后端请求数据,展示数据,到下一个页接着请求数据展示数据,记录用户操作,传给后端。 在这个过程中请求接口是必须的,所以iOS网络层在一个项目里是至关重要的。

关于iOS的网络请求,第一反应都是AFNetWorking。几乎所有的OC项目都是用的这个。网络层的设计也几乎都是在说对于AF的封装。 现在对于网络层大的区分,主要是集约型和离散型。 集约型:就是值对AF封装一个统一的方法。所有的请求都调用统一的方法。好处就是简单,结构清晰,调用方便。适用一些小型的项目。 离散型:其实根本也是集约型,但是对应不同的接口进行不同的封装,让接口更加定制化。好处就是定制化,接口代码方便查找,好管理。适用复杂的项目。 这里说一下好几年前写的那个文章AF3.0封装(MB管理集成) - 简书 (jianshu.com) 这种方式应该也是应该也算是离散型吧.... 这次要说的当然不是上面那种,不然也不用再写个文章(废话ing)

好了下面进入正题。这次我们要说的是整体使用命令模式,把每个请求都封装成一个类这种模式(对和猿题库那个差不多,我再最开始了解这种方式的时候也是看的这个)。同时实现数据自动解析。直接给业务端交付可用的数据。

一,整体结构:就像上面说的整体还是用命令模式。然后每一个命令都是request。这里不同的是我打算直接交付给调用者一个可用的数据。所以这个request其实也是一个model类。想了好久用requestModel作为后缀命名了。

二,具体代码:注释写的比较多,所以不讲解了(#.#)。这个是我从我现在项目里扒出来的,没实际测试过。还是多多理解思路吧。代码比较多这里只放了头文件具体代码放在git上了。git地址:sweetKnight/SWRequest: 一个离散型的网络库 (github.com)

简书地址:https://www.jianshu.com/p/2c8397b4b7b3

About

一个离散型的网络库

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages