簡介
組件化將我們這個一個但一的工程分解為各個組件,然后按照某種方式任意組織成為一個擁有完整業(yè)務(wù)邏輯的工程。
原因
- 耦合性嚴重
- 測試不獨立
- 編譯速度慢
- 設(shè)計模式的沖突
組件化的優(yōu)勢
- 組件的獨立性
- 資源重用
- 高效迭代
- 配合我們二進制,加快項目的編譯速度
組件化應(yīng)該考慮的問題
1. 組件的劃分
- 基礎(chǔ)組件
- 基礎(chǔ)配置(宏,常量), 分類,網(wǎng)絡(luò)(AFN, SDW二次封裝)、工具類(日期時間的處理, 文件處理, 設(shè)備處理)
- 功能組件
- 控件(彈幕,輪播器,選項卡);功能(斷點續(xù)傳,音頻處理)
- 業(yè)務(wù)組件
- 業(yè)務(wù)線一, 業(yè)務(wù)線二。
組件間的關(guān)系
這里寫圖片描述
組件間的通訊
這里寫圖片描述
組件化的難點-解耦
最快的方式就是將需要用到的代碼直接copy到需要的地方(eg:或許屏幕的寬高的代碼)
組件內(nèi)部依賴我們其他的某個公共的功能
我們可以使用block或者代理將實現(xiàn)的方式拋出來,我們就可以有更多地主動權(quán)
這里寫圖片描述