iOS架构 网络层设计选择

清醒疯子 发布于 2015年08月19日
无人欣赏。

大量一次当然有才,少量多组才更伟大。

最早的时候,我是直接拿ASI的接口来做API调用的,情况可谓惨烈。

后来懂得多一点,知道对AFN进行封装,做集约型API调用。大多数外包项目都是集约型API调用,因为省事,即便以后不易维护。通过庞大的类来处理多种变化,这是一种非常不好的编程习惯。虽然在设计上省事,在修改维护上却是要命的。

然后慢慢接触到离散型API调用的网络层设计。离散弄API调用设计,说白了,就是一个API请求一个类。通过对每个API请求单独封装,将更有利于后期的业务开发和需求变更。

当前,我接触到的有三种离散弄API调用方案。分别是:分类、使用block回调的子类、使用delegate回调的子类。

1、分类

参考:http://www.brighttj.com/ios/ios-network-foundation.html

第一层:通过指定的API方法名、参数字典、请求回调,对底层网络库(AFNetworking)进行基类封装。

第二层:通过指定参数和默认参数配置参数字典,用API方法名向第一层发起请求。

第三层:接受事件,把请求所需定制参数传递到第二层。

2、使用block的子类

参考:https://github.com/yuantiku/YTKNetwork/blob/master/BasicGuide.md

3、使用delegate的子类

参考:http://casatwy.com/iosying-yong-jia-gou-tan-wang-luo-ceng-she-ji-fang-an.html

目前公司用的是“使用block的子类”。

后记(下面以聊家常为主,没时间没兴趣的朋友请直接忽略):

今天,我做了5组仰卧起坐,50个每组,一共250个,比昨天多了一组50个。随着规律健身的习惯慢慢养成,我发现自己在做事的心态上也有很大的变化。

我慢慢地变得不那么着急,开始重视每一天的积累,明白持续积累可以产生非常大的能量。技术上,但求每天在工作上或者书籍阅读上都能像健身一样,每天都做,每天都有所进步。

才开始写技术博客的第二天,就已经有人告诉我:你写得不好。

我以前会对这类事情非常着急,会努力去证明自己没有那么菜,会非常着急去跟别人一再斗嘴解释。

我现在没有了这些需求。

因为,我并不害怕别人发现我的技术不够高。相反,从一个足够低的水平,向一个足够高的水平不断努力,恰恰是我能给这个世界带来的最大价值。

很多资源跟我一样少,性格跟我一样差的朋友,也许他们看了我所做的努力,才会终于找到了一个已经在起跑线上落后非常远的自己,应该怎么去努力做好每一天。

就像交易策略一样,即使我用这个策略赚了再多钱,如果这个策略本身要求上千万的本金,那注定就跟绝大多数人是没有任何关系的。

在技术上同样如此,与其看到大厂大牛羡慕其牛B,还不如好好想想在目前这么受限的自己,怎么样才能下手去努力,提升自己。

所以,我现在认为:从小做起,从少做起,将会在“带人”上有更高的示范作用。

暂无回复
登录 或者 注册