App的开发无外乎从网络端获取数据显示在屏幕上,数据做些缓存或者持久化,所以网络层极为重要。原来只是把AFNetwork二次封装了一下,使得调用变得很简单,并没有深层次的考虑一些问题。

前言

参考:
网络层设计方案
这篇文章提的问题也正是我平时经常纠结的,但是一直没有深入思考。文章给的解决方案和为什么这样做让人茅塞顿开。以下主要就是我的观后感。

三个问题

  • 使用哪种交互模式来跟业务层做对接?

  • 是否有必要将API返回的数据封装成对象然后再交付给业务层?

  • 使用集约化调用方式还是离散型调用方式去调用API?

我的设计

基本上每个网络层都会涉及到这三个问题。
我原先的设计是:

//APIClient.h@interface APIClient : AFHTTPSessionManager

+ (instancetype)sharedRequestDataClient;/*
 * 用json格式(POST)
 */+ (void)requestDataPostMethodWithHTTPPath:(NSString *)path          
        
		

网友评论