Android - 組件化、模塊化開發

轉載請註明出處:https://blog.csdn.net/mythmayor/article/details/107184467

一、組件化與模塊化介紹

組件化
  • 組件:最初的目的是代碼重用,功能相對單一或者獨立。在整個系統的代碼層次上位於最底層,被其他代碼所依賴,所以說組件化是縱向分層。

  • 特點:把重複的代碼提取出來合併成爲一個個組件,組件最重要的就是重用(複用),位於框架最底層,其他功能都依賴於組件,可供不同功能使用,獨立性強。
    組件就像一個個小的單位,多個組件可以組合成組件庫,方便調用和複用,組件間也可以嵌套,小組件組合成大組件。

模塊化
  • 模塊:最初的目的是將同一類型的代碼整合在一起,所以模塊的功能相對複雜,但都同屬於一個業務。不同模塊之間也會存在依賴關係,但大部分都是業務性的互相跳轉,從地位上來說它們都是平級的。

  • 特點:分屬同一功能/業務的代碼進行隔離(分裝)成獨立的模塊,可以獨立運行,以頁面、功能或其他不同粒度劃分程度不同的模塊,位於業務框架層,模塊間通過接口調用,目的是降低模塊間的耦合,由之前的主應用與模塊耦合,變爲主應用與接口耦合,接口與模塊耦合。
    模塊就像有多個USB插口的充電寶,可以和多部手機充電,接口可以隨意插拔。複用性很強,可以獨立管理。
    模塊就像是獨立的功能和項目(如淘寶:註冊、登錄、購物、直播…),可以調用組件來組成模塊,多個模塊可以組合成業務框架。

二、組件化與模塊化開發項目模塊介紹

basic_library模塊(基礎類庫模塊)

基礎類庫主要是將各個組件中都會用到的一些基礎庫統一進行封裝,例如網絡請求、圖片緩存、sqlite操作、數據加密等基礎類庫,這樣可以避免各個組件都在自己的組件中單獨引用,而且引用的版本可能都不一樣,導致整個工程外部庫混亂,統一了基礎類庫後,基礎類庫保持相對的穩定,這樣各個組件對外部庫的使用是相對可控的,防止出現一些外部庫引出的極端問題,而且這樣的話對於庫的升級也比較好管理。

basic_project模塊(基礎工程模塊)

對於每個組件都有一些是公共的抽象,例如我們工程中自己定義的BaseActivity、BaseFragment、自定義控件等,這些對於每個組件都是一樣的,每個組件都基於一樣的基礎工程開發,一方面可以減少開發工作,另一方面也可以讓各個組件的開發人員能夠統一架構框架,這樣每個組件的技術代碼框架看起來都是一樣的,也便於後期代碼維護和人員互備。

main_project模塊(業務模塊)

應用的主要業務邏輯在此實現,上面的幾部分都實現以後,剩餘的主要體力工作就是實現各個拆分出來的業務模塊。

app模塊(殼工程模塊)

殼工程主要用於將各個組件組合起來和做一些工程初始化,初始化包含了後續各個組件會用到的一些庫的初始化,也包括ApplicationContext的初始化工作。

三、項目Github地址

https://github.com/mythmayor/AndroidComponentDemo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章