网络封装的基本思路

这个封装的主要目的是,退出控制器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

以上属于自己的个人思路,有问题互相交流,希望可以帮到你。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容