iOS架構(gòu) - App中組件啟動(dòng)流程問題

2018年最后一次code review結(jié)果,做了處理,對(duì)App的啟動(dòng)流程做了優(yōu)化;

查看了iOS正則、NSPredicate的使用,NSPredicate是個(gè)很強(qiáng)大的東西,哈;

學(xué)習(xí)了JavaScript、MySQL等;

查看了馬云的演講,主要去了解"DT + Ai時(shí)代";

App啟動(dòng),組件如何啟動(dòng)?

1、組件化之前

在還未做組件化之前,那是一個(gè)亂糟糟,AppDelegate中,各種代碼,能搞到好幾百行。

2、組件化

將各個(gè)業(yè)務(wù)拆分、解耦之后,我們實(shí)現(xiàn)項(xiàng)目的組件化,有基礎(chǔ)服務(wù)、基礎(chǔ)業(yè)務(wù)、核心業(yè)務(wù)等。

3、組件化之后

無(wú)論項(xiàng)目怎么拆分,App是要啟動(dòng)的,就要加載各種服務(wù)、業(yè)務(wù)等,那各個(gè)組件如何啟動(dòng)呢?

好一點(diǎn)的,Appdelegate中,每個(gè)組件提供初始化方法;差一點(diǎn)的,Appdelegate中有各種組件的配置,比組件化之前代碼是少了,但又涉及到各個(gè)組件的啟動(dòng)順序問題:組件之間有依賴,先啟動(dòng)誰(shuí),后啟動(dòng)誰(shuí),就會(huì)影響組件的功能。

4、組件自啟動(dòng)

組件的啟動(dòng)、配置等,不會(huì)再放到Appdelegate中,而是做成懶加載的方式,組件被需要的時(shí)候,才會(huì)進(jìn)行啟動(dòng)、加載配置,主要解決組件相互依賴導(dǎo)致啟動(dòng)順序受限制、暫無(wú)用組件亂啟動(dòng)導(dǎo)致的問題。

基礎(chǔ)服務(wù)、基礎(chǔ)業(yè)務(wù)等組件,分為兩部分:核心代碼、業(yè)務(wù)代碼。

我們將核心代碼拆分做成私有pod組件,因?yàn)椴簧婕暗綐I(yè)務(wù),很少改動(dòng);業(yè)務(wù)代碼部分,做成配置(文件、delegate等方式),寫在在主工程中,以方便針對(duì)不同項(xiàng)目的不同業(yè)務(wù)進(jìn)行改動(dòng)。

我們使用這種模式,對(duì)各個(gè)組件、主項(xiàng)目進(jìn)行了規(guī)范處理。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容