iOS組件化開發· 什麼是組件化,ios組件

來源:互聯網
上載者:User

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
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.