App的开发无外乎从网络端获取数据显示在屏幕上,数据做些缓存或者持久化,所以网络层极为重要。原来只是把AFNetwork二次封装了一下,使得调用变得很简单,并没有深层次的考虑一些问题。
前言
参考:
网络层设计方案
这篇文章提的问题也正是我平时经常纠结的,但是一直没有深入思考。文章给的解决方案和为什么这样做让人茅塞顿开。以下主要就是我的观后感。
三个问题
使用哪种交互模式来跟业务层做对接?
是否有必要将API返回的数据封装成对象然后再交付给业务层?
使用集约化调用方式还是离散型调用方式去调用API?
我的设计
基本上每个网络层都会涉及到这三个问题。
我原先的设计是:
//APIClient.h@interface APIClient : AFHTTPSessionManager
+ (instancetype)sharedRequestDataClient;/*
* 用json格式(POST)
*/+ (void)requestDataPostMethodWithHTTPPath:(NSString *)path  
