iOS組件化開發· 什麼是組件化,ios組件
越來越多公司,開始了組件化,你還要等到什麼時候......
說到開發模式,我們最熟知的開發模式 MVC 或者最近比較熱門的MVVM。但是我今天說的組件化的開發,其實MVC不是一類的。它其實是·····
在實際工作中,尤其是參與過比較大的項目,同時,參與開發的成員比較多的情況下,隨著時間的不停的開發,業務線不斷複雜,就會遇到下面一系列的問題。真的好煩哦·····
- 1、代碼耦合很嚴重。一個控制器的存在需要依賴很多控制器,一個控制器有會被很多控制器依賴。
- 2、項目逐漸層臃腫,龐大,複雜。每次編譯都會需要很長時間。
- 3、整個項目要保持一致的開發模式,喜歡MVC的不擅長MVVM,喜歡MVVM的感覺MVC太Low
- 4、不能進行獨立測試
傳統的團隊開發模式的問題在不斷的迭代中逐漸的暴露出來。所以我們應該瞭解更為先進高效的團隊開發模式,那就是!組件化開發
下面就為大家詳細的介紹一下組件化
或者叫模組化
開發
什麼是組件化開發
組件化開發,就是將一個臃腫,複雜的單一工程的項目, 根據功能或者屬性進行分解,拆分成為各個獨立的功能模組或者組件 ; 然後根據項目和業務的需求,按照某種方式, 任意組織成一個擁有完整商務邏輯的工程。這就是所謂的組件化開發。
組件化開發的優點
既然針對上述問題提到了組件化開發,那就要必要交代一下組件化模組化開發的好處。這樣在進行對比的時候,可以更加清楚的定位我們想要解決的問題。開判斷組件化開發是不是我們需要的團隊開發模式。
- 1、組件之間相互獨立。各組件開發成員之間的代碼想相互獨立編寫的,獨立編譯,獨立運行和獨立測試的。
- 2、資源的重複裡用,尤其是功能性,工具性的代碼,可以很輕鬆的重複裡用
- 3、迭代的效率提高。通過迭代進行功能的增減,只需要進行組件的拆分和組合。很方便也很高效
組件化開發需要注意的問題
新項目在進行組件化拆分的時候;或者老項目就行組件化重構的時候需要考慮一下幾個問題。比較對於耦合度很高的老項目,解耦並不是一件容易的事情。
- 1、 組件拆分的依據,即要把哪些內容劃分成為一個組件?
可以按照以下幾個方面進行拆分
- ① 基礎組件
全域常量、常用宏、常用的分類、常用三方架構的隔離封裝、還有一些比較常用的小功能類
- ② 功能組件
圖片輪播器、圖文菜單、視頻中的彈幕、相機、錄影、二維碼、下載功能、個性定製的提示框等等,都可以封裝在一個組件中
- ③ 業務模組
例如電商的購物車,訂單管理、下單流程、個人中心
再例如視頻或者直播的會員管理、視頻播放全屏,右下角小螢幕,緩衝等等
2、組件化存在方式
一直在說組件化,到底什麼是組件呢。組件的存在方式又是什麼呢?
組件形式: 每個組件都是以pod庫的形式存在
組件內部:組件內部按照自己喜歡的開發模式以檔案夾的形式進行劃分
組件測試:每個組件對單獨對應一個demo,用來完成該組件的功能測試,這樣測試機能被解耦開
3、組件的組合方式
既然組件的存在方式是以每個pod庫的形式存在的。那麼我們組合組件的方法就是通過利用CocoaPods的方式添加安裝各個組件。
組合在一起的組件,根據需求可以用過組件自己提供的API進行通訊,或者有中介軟體統一進行組件中的通訊,在後面的文章中,我會一一介紹
總結
組件化開發這個專題後面的內容會不斷的更新,歡迎大家關注!
作者:Biharry
連結:https://www.jianshu.com/p/c8f49ac9311f
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。