2018年最后一次code review结果,做了处理,对App的启动流程做了优化;
查看了iOS正则、NSPredicate的使用,NSPredicate是个很强大的东西,哈;
学习了JavaScript、MySQL等;
查看了马云的演讲,主要去了解"DT + Ai时代";
App启动,组件如何启动?
1、组件化之前
在还未做组件化之前,那是一个乱糟糟,AppDelegate中,各种代码,能搞到好几百行。
2、组件化
将各个业务拆分、解耦之后,我们实现项目的组件化,有基础服务、基础业务、核心业务等。
3、组件化之后
无论项目怎么拆分,App是要启动的,就要加载各种服务、业务等,那各个组件如何启动呢?
好一点的,Appdelegate中,每个组件提供初始化方法;差一点的,Appdelegate中有各种组件的配置,比组件化之前代码是少了,但又涉及到各个组件的启动顺序问题:组件之间有依赖,先启动谁,后启动谁,就会影响组件的功能。
4、组件自启动
组件的启动、配置等,不会再放到Appdelegate中,而是做成懒加载的方式,组件被需要的时候,才会进行启动、加载配置,主要解决组件相互依赖导致启动顺序受限制、暂无用组件乱启动导致的问题。
基础服务、基础业务等组件,分为两部分:核心代码、业务代码。
我们将核心代码拆分做成私有pod组件,因为不涉及到业务,很少改动;业务代码部分,做成配置(文件、delegate等方式),写在在主工程中,以方便针对不同项目的不同业务进行改动。
我们使用这种模式,对各个组件、主项目进行了规范处理。
网友评论