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ī)范處理。