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