这个封装的主要目的是,退出控制器UIViewController,从而取消当前控制器的网络请求。
1.UIViewController层
- 基于MVC的设计模式,发起网络请求。
- 持有DAO对象。当Controller释放,DAO对象释放。
2.DAO层
- DAO (Data Access Object) 数据访问对象是一个面向对象的接口. 直接操作数据库, 针对数据的增添,删除,修改,查找,具体为业务逻辑层或表示层提供数据服务。
- 这里我把DAO可以看做成为一个Controller层和NetWorkHelper之间的一个枢纽。
- 例如:新建DAO分类(DAO+Login.h),可以把登录的请求任务放在这里。
- 持有NetWorkHelper对象。当DAO层释放时,取消对应的网络请求。
3.NetWorkHelper
- 提供GET、POST等实例方法。
- 保存每次请求的NSURLSessionDataTask实例。
- 提供取消网络请求方法。
- 基于HTTPSessionManager进行网络操作。
4.HTTPSessionManager
- 单利,初始化网络请求对象,保持长连接。
- 提供get、post等供外部使用的实例方法。
- 返回NSURLSessionDataTask实例。
5.AFNetWorking
下面是整个封装的思维导图
网络封装.png以上属于自己的个人思路,有问题互相交流,希望可以帮到你。
网友评论