iOS架构 - App中组件启动流程问题

2018年最后一次code review结果,做了处理,对App的启动流程做了优化;

查看了iOS正则、NSPredicate的使用,NSPredicate是个很强大的东西,哈;

学习了JavaScript、MySQL等;

查看了马云的演讲,主要去了解"DT + Ai时代";

App启动,组件如何启动?

1、组件化之前

在还未做组件化之前,那是一个乱糟糟,AppDelegate中,各种代码,能搞到好几百行。

2、组件化

将各个业务拆分、解耦之后,我们实现项目的组件化,有基础服务、基础业务、核心业务等。

3、组件化之后

无论项目怎么拆分,App是要启动的,就要加载各种服务、业务等,那各个组件如何启动呢?

好一点的,Appdelegate中,每个组件提供初始化方法;差一点的,Appdelegate中有各种组件的配置,比组件化之前代码是少了,但又涉及到各个组件的启动顺序问题:组件之间有依赖,先启动谁,后启动谁,就会影响组件的功能。

4、组件自启动

组件的启动、配置等,不会再放到Appdelegate中,而是做成懒加载的方式,组件被需要的时候,才会进行启动、加载配置,主要解决组件相互依赖导致启动顺序受限制、暂无用组件乱启动导致的问题。

基础服务、基础业务等组件,分为两部分:核心代码、业务代码。

我们将核心代码拆分做成私有pod组件,因为不涉及到业务,很少改动;业务代码部分,做成配置(文件、delegate等方式),写在在主工程中,以方便针对不同项目的不同业务进行改动。

我们使用这种模式,对各个组件、主项目进行了规范处理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容