关于网络层的封装的一点想法

来源:互联网 发布:海康网络键盘 编辑:程序博客网 时间:2024/05/18 03:48

最近辞职在家,终于有时间闲下来整理整理自己这一年来工作的一些心得跟思路,千头万绪,作为一个强迫症晚期&重度洁癖症患者,第一个主题,当然是viewController的瘦身问题,唐巧的《被误解的 MVC 和被神化的 MVVM》一文成为了我打开思路的一块砖头,我决定从文中提到的“将网络请求抽象到单独的类中”下手。
这两天先后看了几个demo跟类似主题的blog,有唐巧公司开源的 iOS 网络库:YTKNetwork,也有阿里一位年轻架构师给出的RTNetworking,初步的思路心里不敢说知道了七七八八,只能说五五六六,这里趁我没忘记,做个简单的归纳。
首先,两个作者都不约而同使用了Casa Taloyum提到的“离散型API调用方式”。

离散型API调用是这样的,一个API对应于一个APIManager,然后这个APIManager只需要提供参数就能起飞,API名字、着陆方式都已经集成入APIManager中。

关于这一点,我觉得Casa Taloyum的RTNetworking做得更好。YTKNetwork主要侧重于数据的持久化存储以及持久化数据的版本依赖性,适合稍微复杂一些的项目,不适合个人的小项目。而RTNetworking更侧重于网络层如何跟业务进行对接,以及交付什么样的数据跟业务层,更具有普遍参考价值,也更加符合我这次的主题。

写一半,未完待续…

1 0
原创粉丝点击