iOS組件化開(kāi)發(fā)1 · 什么是組件化

組件化開(kāi)發(fā).png

越來(lái)越多公司弛针,開(kāi)始了組件化统抬,你還要等到什么時(shí)候......

說(shuō)到開(kāi)發(fā)模式,我們最熟知的開(kāi)發(fā)模式 MVC 或者最近比較熱門的MVVM灭贷。但是我今天說(shuō)的組件化的開(kāi)發(fā)温学,其實(shí)MVC不是一類的。它其實(shí)是·····

在實(shí)際工作中甚疟,尤其是參與過(guò)比較大的項(xiàng)目枫浙,同時(shí),參與開(kāi)發(fā)的成員比較多的情況下古拴,隨著時(shí)間的不停的開(kāi)發(fā),業(yè)務(wù)線不斷復(fù)雜真友,就會(huì)遇到下面一系列的問(wèn)題黄痪。真的好煩哦·····

  • 1、代碼耦合很嚴(yán)重盔然。一個(gè)控制器的存在需要依賴很多控制器桅打,一個(gè)控制器有會(huì)被很多控制器依賴。
  • 2愈案、項(xiàng)目逐漸變臃腫挺尾,龐大,復(fù)雜站绪。每次編譯都會(huì)需要很長(zhǎng)時(shí)間遭铺。
  • 3、整個(gè)項(xiàng)目要保持一致的開(kāi)發(fā)模式,喜歡MVC的不擅長(zhǎng)MVVM魂挂,喜歡MVVM的感覺(jué)MVC太Low
  • 4甫题、不能進(jìn)行獨(dú)立測(cè)試

傳統(tǒng)的團(tuán)隊(duì)開(kāi)發(fā)模式的問(wèn)題在不斷的迭代中逐漸的暴露出來(lái)。所以我們應(yīng)該了解更為先進(jìn)高效的團(tuán)隊(duì)開(kāi)發(fā)模式涂召,那就是坠非!組件化開(kāi)發(fā)

下面就為大家詳細(xì)的介紹一下組件化或者叫模塊化開(kāi)發(fā)


什么是組件化開(kāi)發(fā)

組件化開(kāi)發(fā),就是將一個(gè)臃腫果正,復(fù)雜的單一工程的項(xiàng)目, 根據(jù)功能或者屬性進(jìn)行分解炎码,拆分成為各個(gè)獨(dú)立的功能模塊或者組件 ; 然后根據(jù)項(xiàng)目和業(yè)務(wù)的需求,按照某種方式, 任意組織成一個(gè)擁有完整業(yè)務(wù)邏輯的工程秋泳。這就是所謂的組件化開(kāi)發(fā)潦闲。

組件化開(kāi)發(fā)的優(yōu)點(diǎn)

既然針對(duì)上述問(wèn)題提到了組件化開(kāi)發(fā),那就要必要交代一下組件化模塊化開(kāi)發(fā)的好處轮锥。這樣在進(jìn)行對(duì)比的時(shí)候矫钓,可以更加清楚的定位我們想要解決的問(wèn)題。開(kāi)判斷組件化開(kāi)發(fā)是不是我們需要的團(tuán)隊(duì)開(kāi)發(fā)模式舍杜。

  • 1新娜、組件之間相互獨(dú)立。各組件開(kāi)發(fā)成員之間的代碼想相互獨(dú)立編寫的既绩,獨(dú)立編譯概龄,獨(dú)立運(yùn)行和獨(dú)立測(cè)試的。
  • 2饲握、資源的重復(fù)里用私杜,尤其是功能性,工具性的代碼救欧,可以很輕松的重復(fù)里用
  • 3衰粹、迭代的效率提高。通過(guò)迭代進(jìn)行功能的增減笆怠,只需要進(jìn)行組件的拆分和組合铝耻。很方便也很高效

組件化開(kāi)發(fā)需要注意的問(wèn)題

新項(xiàng)目在進(jìn)行組件化拆分的時(shí)候;或者老項(xiàng)目就行組件化重構(gòu)的時(shí)候需要考慮一下幾個(gè)問(wèn)題蹬刷。比較對(duì)于耦合度很高的老項(xiàng)目瓢捉,解耦并不是一件容易的事情。

  • 1办成、 組件拆分的依據(jù)泡态,即要把哪些內(nèi)容劃分成為一個(gè)組件?
    可以按照以下幾個(gè)方面進(jìn)行拆分
    • 基礎(chǔ)組件
      全局常量迂卢、常用宏某弦、常用的分類桐汤、常用三方框架的隔離封裝、還有一些比較常用的小功能類
    • 功能組件
      圖片輪播器刀崖、圖文菜單惊科、視頻中的彈幕、相機(jī)亮钦、錄像馆截、二維碼、下載功能蜂莉、個(gè)性定制的提示框等等蜡娶,都可以封裝在一個(gè)組件中
    • 業(yè)務(wù)模塊
      例如電商的購(gòu)物車,訂單管理映穗、下單流程窖张、個(gè)人中心
      再例如視頻或者直播的會(huì)員管理、視頻播放全屏蚁滋,右下角小屏幕宿接,緩存等等
  • 2、組件化存在方式
    一直在說(shuō)組件化辕录,到底什么是組件呢睦霎。組件的存在方式又是什么呢?
    組件形式: 每個(gè)組件都是以pod庫(kù)的形式存在
    組件內(nèi)部:組件內(nèi)部按照自己喜歡的開(kāi)發(fā)模式以文件夾的形式進(jìn)行劃分
    組件測(cè)試:每個(gè)組件對(duì)單獨(dú)對(duì)應(yīng)一個(gè)demo走诞,用來(lái)完成該組件的功能測(cè)試副女,這樣測(cè)試機(jī)能被解耦開(kāi)

  • 3、組件的組合方式
    既然組件的存在方式是以每個(gè)pod庫(kù)的形式存在的蚣旱。那么我們組合組件的方法就是通過(guò)利用CocoaPods的方式添加安裝各個(gè)組件碑幅。

組合在一起的組件,根據(jù)需求可以用過(guò)組件自己提供的API進(jìn)行通訊塞绿,或者有中間件統(tǒng)一進(jìn)行組件中的通訊沟涨,在后面的文章中,我會(huì)一一介紹

總結(jié)

組件化開(kāi)發(fā)這個(gè)專題后面的內(nèi)容會(huì)不斷的更新异吻,歡迎大家關(guān)注拷窜!


轉(zhuǎn)載請(qǐng)標(biāo)明出處!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涧黄,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子赋荆,更是在濱河造成了極大的恐慌笋妥,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窄潭,死亡現(xiàn)場(chǎng)離奇詭異春宣,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門月帝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)躏惋,“玉大人,你說(shuō)我怎么就攤上這事嚷辅〔疽蹋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵簸搞,是天一觀的道長(zhǎng)扁位。 經(jīng)常有香客問(wèn)我,道長(zhǎng)趁俊,這世上最難降的妖魔是什么域仇? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮寺擂,結(jié)果婚禮上暇务,老公的妹妹穿的比我還像新娘。我一直安慰自己怔软,他們只是感情好垦细,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著爽雄,像睡著了一般蝠检。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上挚瘟,一...
    開(kāi)封第一講書(shū)人閱讀 49,760評(píng)論 1 289
  • 那天叹谁,我揣著相機(jī)與錄音,去河邊找鬼乘盖。 笑死焰檩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的订框。 我是一名探鬼主播析苫,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼穿扳!你這毒婦竟也來(lái)了衩侥?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤矛物,失蹤者是張志新(化名)和其女友劉穎茫死,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體履羞,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡峦萎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年屡久,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片爱榔。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡被环,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出详幽,到底是詐尸還是另有隱情筛欢,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布妒潭,位于F島的核電站悴能,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏雳灾。R本人自食惡果不足惜漠酿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谎亩。 院中可真熱鬧炒嘲,春花似錦、人聲如沸匈庭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)阱持。三九已至夭拌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間衷咽,已是汗流浹背鸽扁。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留镶骗,地道東北人桶现。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像鼎姊,于是被迫代替她去往敵國(guó)和親骡和。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容