隨著業(yè)務(wù)的發(fā)展 App 開發(fā)技術(shù)也越來越成熟,對開發(fā)者來說 App 代碼量也迅速地增長到一個(gè)數(shù)量級。對于如何架構(gòu) App 已經(jīng)每個(gè)開發(fā)者面臨的實(shí)際問題。好的架構(gòu)可以提高開發(fā)者的效率,降低維護(hù)成本。
由于業(yè)務(wù)增長引起項(xiàng)目中代碼量激增,以及歷史遺留問題和結(jié)構(gòu)混亂,作為一個(gè)有代碼潔癖的程序員,很早就開始思考如何組織 App 架構(gòu)的問題了。目前遇到的主要有以下幾點(diǎn)問題:
代碼量激增引起結(jié)構(gòu)混亂
各個(gè)模塊相互引用且耦合度高
無法獨(dú)立開發(fā)或者調(diào)試組件代碼
無法應(yīng)對組件插拔的需求(例如:產(chǎn)品經(jīng)理今天把這個(gè)功能加上,第二天又去掉,第三天又加回來T_T)
App 架構(gòu)圖
在閱讀了大量的文檔之后,根據(jù)實(shí)際項(xiàng)目開發(fā)遇到的問題,我總結(jié)了以下架構(gòu)。由于水平有限,有不合理的歡迎拍磚
自下而上將 App 分為: