有點空宪肖,根據(jù)之前內(nèi)部分享的wiki 做了脫敏,重新畫了下圖健爬。
整體大概分為四層:應(yīng)用層控乾,業(yè)務(wù)模塊層,基礎(chǔ)模塊層娜遵,底層服務(wù)層蜕衡。
業(yè)務(wù)模塊之間是相互獨立的,除了公共業(yè)務(wù)模塊 biz-logic设拟。 如果兩個模塊之間有公共的業(yè)務(wù)數(shù)據(jù)慨仿,就歸類至此。當兩個模塊都包含了 biz-logic纳胧,那么镰吆,他們必定存在某種交互。如果是界面跳轉(zhuǎn)或者方法調(diào)用跑慕,則如下圖所示万皿,通過 阿里開源的 ARouter 來實現(xiàn)跳轉(zhuǎn)與調(diào)用。
而數(shù)據(jù)的傳遞則通過 EventBus 來實現(xiàn)相赁,如下圖相寇。
業(yè)務(wù)模塊采用了 MVP 架構(gòu)。后因業(yè)務(wù)拓展更是將粒度細分钮科,拆成了 ui 與 logic唤衫。 方便在業(yè)務(wù)邏輯不變的時候整合新的UI。
如上所述绵脯,業(yè)務(wù)邏輯不變的情況下整合了新的ui佳励,有時甚至連ui也沒變,只是更改了背景蛆挫,文本顏色赃承,圖片資源等。那么 biz-loan-ui 模塊也不替換了悴侵。直接采用覆蓋 colors.xml 來實現(xiàn)瞧剖。
最后,這些模塊是以aar的方式發(fā)布的,并通過maven管理抓于。如下圖: