开发者的灵魂

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

2019-01-02  本文已影响0人  素还真人

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

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

学习了JavaScript、MySQL等;

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

App启动,组件如何启动?

1、组件化之前

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

2、组件化

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

3、组件化之后

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

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

4、组件自启动

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读