iOS开发-代码优化系列之一-controller瘦身

最近项目重构,把重构中做的事情分享下,姑且称之为代码优化系列吧。

从controller入手。重构前我们的一个主界面controller代码行数在三千行左右,平时维护已经给代码阅读造成了一定的影响。而实际上这个controller界面上的逻辑并不是很复杂,那为什么会变成一个三千多行的重量级controller呢,原因就是我们之前的开发人员把处理网络请求的,处理业务的,处理数据的代码都一股脑写到了这个controller里了(不要心存鄙视,都是从菜鸟过来的)。

优化第一步,分拆职能;

1:将网络请求及参数拼接抽象到单独的类中。

之前的处理方式是每个接口请求的参数都在controller中进行拼接,虽然对参数的加密和接口请求已有专门的抽象类,但是一堆一堆的参数堆积在控制器中难免增加不必要的代码阅读障碍。

2:界面上的元素进行封装。

之前的代码基本就是堆砖头,各种button、label、image....,现在把长得类似的元素进行分类封装,暴露出可供调用方控制的属性。这样conrtoller要做的就是将这些封装的控件进行拼接即可。

3:构建viewModel

具体做法就是将viewController给view传递数据这个过程,抽象成构造viewModel的过程,通过viewModel的配置更新view,controller要处理的事情就可以再减少一些。

4:构造专门的存储类

将一些用户的基本信息(涉及私密信息的如密码,身份证号码等数据的不做存储)及我们需要用到的透传数据在存储类中进行存储及处理。

你可能感兴趣的:(iOS开发-代码优化系列之一-controller瘦身)