關於安卓項目架構相關集中管理module的一些思考整理(組件化參考)

前言android

架構,把這個詞拆開來看,就是架子與結構。能夠形象的比喻成動物的骨架。骨架完成了在填充血肉,會讓整個項目進行的更有效。架構

在此以前,須要開發者瞭解一些gradle在安卓項目中的使用狀況。我這裏推薦stormzhang的gradle教學文章。對於gradle要具備最初步的瞭解。app

給 Android 初學者的 Gradle 知識普及異步

雖然跟組件化相關,但這裏並不討論關於組件化中最重要的通訊與路由機制。感興趣的同窗能夠學習一下 EventBus/Arouter來進行組件化的使用。模塊化

思路組件化

老規矩先上圖,這裏我只上一個Project的圖。學習

image.png

咱們一直在強調模塊化與解耦,而實際上達到徹底的解耦是不可能的,由於業務之間總會出現你想象不到的關聯需求,這裏所強調的解耦也只是開發過程當中,把相關的功能儘量的獨立到每個人能都單獨開發負責的這樣一種模式。gradle

這裏新建了兩個文件夾,android_blocks(用於存放業務模塊module),android_libs(用於存放於業務無關的功能性module)。至少在咱們的項目結構中能夠很清晰的看到它們存放於不一樣的文件夾下,內心至少明白它們在本身所表達的意義上是相互獨立存在的。spa

步驟3d

第一步新建你所須要的module,例如我想要獨立開發一個設置模塊。那麼新建settings module。
右鍵新建module,直接下一步完成後,project根目錄下生成settings module,以下圖。

image.png

咱們來分析一下,設置屬於業務模塊,那麼就要把它放在blocks下面。直接用鼠標拖動,或者剪切到android_blocks下。

image.png

點擊OK,等待剪切結束。

image.png

這個時候移動結束,而後打開Project根目錄下的settings.gradle文件。
這裏是聲明咱們項目中可用module的地方,以下圖。

image.png

手動把你剛剛移動到android_blocks文件夾的module名稱按照圖中格式寫上去,點擊同步。

提示:若是以上出現異常狀況,能夠把全部的iml文件刪除反覆把步驟從新操做便可。

這個時候基本工做已經完成了。而後看一下咱們的依賴關係。

image.png

因此大體上咱們獲得了這樣的一個結構。
那麼咱們每個block module的依賴儘量的輕量,只依賴base一個便可。

image.png

此圖僅作參考,切勿照搬。

後記

關於組件化實際上是一種架構的思想,那麼集中管理,獨立開發是一個提升團協做開發效率的好的思路。尤爲是在大公司裏,一個app的業務量每每不少,因此相互之間約定好服務於接口,這樣有利於開發的異步進行。

相關文章
相關標籤/搜索