Android元件化模組化在移動應用開發中

2021-10-03 00:21:19 字數 1192 閱讀 4151

在移動應用上由於應用本身與使用者相貼近,日常開發中難免的需求變更朝令夕改、朝三暮四,尤其遇到沒啥規範流程的或者形式主義流程;

關於元件化模組化是什麼及其優點不再贅述,在此補充點優點而已:減少名言的聯想

linus:read the ****ing source code

我們的終極目標不僅是解耦。簡化框架,減少過分約束而給予元件/模組內充分的自由,從初始設計已有兩年餘,由於重複搬磚沒得時間記錄,

文章中盡量不貼****ing code,有良好的思路大家都會有很好合適自身需求的實現。

元件 模組

鑑於網上很多文章對於元件和模組的定義眾說紛紜,再次宣告本文定義,參考資料**維基百科

基於元件的軟體工程(component-based software engineering,簡稱cbse**)或基於元件的開發(component-based development,簡稱cbd)是一種軟體開發范型。它是現今軟體復用理論實用化的研究熱點,在元件物件模型的支援下,通過復用已有的構件,軟體開發者可以「即插即用」地快速構造應用軟體。這樣不僅可以節省時間和經費,提高工作效率,而且可以產生更加規範、更加可靠的應用軟體

模組 是指由數個基礎功能元件組成的特定功能元件,可用來組成具完整功能之系統、裝置或程式。模組通常都會具有相同的製程或邏輯,更改其組成元件可調適其功能或用途。

綜上元件component是一種工具功能性質,而模組module具有系統功能性質。例如jetpack中的構架元件.

模型model與模組還是區分對待。

由簡單到複雜

長 短之相形,難 易之相成

模組初始化註冊【**插樁;反射初始化等;asm】推薦模組初始化註冊外掛程式

元件/模組之間的通訊,相互呼叫,資料傳遞【modular-event ,livedata-bus ,本地廣播等】

元件/模組怎麼通知其他元件響應某個事件(元件的視聽功能)

模組介面之間的跳轉,因為為了解耦,元件間不可以直接互相呼叫【arouter等】

主專案獲取並顯示元件的fragment

元件間如何整合並除錯

獲取其他元件的資料或服務(發派信使攜帶任務,完成返回)

資源命名重複,資源本身重複冗餘

元件之間避免過度依賴年輕的元件,基礎元件避免依賴不成熟的第三方

其他…舉例包含其中3,4,5,6的乙個業務場景:

多個模組中的ui需要組合顯示在某同乙個介面中,牽扯資料重新整理,模組間資料傳遞,及相互呼叫等問題

在Android上編寫模組化專案(翻譯)

部落格 wang jie s blog原文 要解決這個問題,複雜的應用程式,如 uber 決定對它們的應用程式進行模組化並從中獲得了很多。下面是試用模組化專案的一些優勢 由於上述優勢,當我剛開始posts這個應用時,我就在始終堅持使用模組化方法。對此,android 團隊已經給我們提供了一些工具,但...

前端模組化,元件化,工程化

1.前端模組化 2.前端元件化 指對具體的某個功能的封裝,比如所有的分頁可以封裝為分頁元件來統一使用,以此來達到元件復用,提高開發效率。3.前段工程化 概念 指使用軟體工程的技術和方法來進行前端專案的開發 維護和管理。前端工程化包含如下 1.規範 保證團隊所有成員以同樣的規範開發 2.分支管理 不同...

logging模組化元件的使用

目錄建立乙個logger物件 建立處理器物件 設定處理器物件的最低輸出等級 建立並設定日誌輸出格式 將 日誌輸出格式 與 處理器物件 進行繫結 即設定處理器物件的日誌輸出格式 將 logger物件 與 處理物件進行繫結 即為logger物件新增處理器 import logging 1.建立乙個log...