組件化和模塊化

相信很多人和我一樣看過(guò)很多組件化和模塊化設(shè)計(jì)的文章,但依然沒(méi)有搞清楚這兩個(gè)的區(qū)別雕沉,在寫這篇文章之前集乔,我一直以為組件化和模塊化是一個(gè)概念(捂臉),在閱文無(wú)數(shù)后坡椒,決定做個(gè)總結(jié)扰路,加上案例講解,來(lái)幫助理解這兩者的概念倔叼。

本文概要:

什么是組件和模塊

組件和模塊的區(qū)別

為什么要使用組件化和模塊化

組件的創(chuàng)建和嵌套方法

組件化和模塊化源于軟件開發(fā)汗唱,現(xiàn)在越來(lái)越被更多地應(yīng)用于UI設(shè)計(jì)當(dāng)中。下面是我為了便于理解做了個(gè)示意圖丈攒。

一哩罪、什么是組件和模塊

1.1組件:把重復(fù)的代碼提取出來(lái)合并成為一個(gè)個(gè)組件,組件最重要的就是重用(復(fù)用)巡验,位于框架最底層际插,其他功能都依賴于組件,可供不同功能使用显设,獨(dú)立性強(qiáng)框弛。

1.2模塊:分屬同一功能/業(yè)務(wù)的代碼進(jìn)行隔離(分裝)成獨(dú)立的模塊,可以獨(dú)立運(yùn)行捕捂,以頁(yè)面瑟枫、功能或其他不同粒度劃分程度不同的模塊斗搞,位于業(yè)務(wù)框架層,模塊間通過(guò)接口調(diào)用慷妙,目的是降低模塊間的耦合僻焚,由之前的主應(yīng)用與模塊耦合,變?yōu)橹鲬?yīng)用與接口耦合膝擂,接口與模塊耦合虑啤。

模塊就像有多個(gè)USB插口的充電寶,可以和多部手機(jī)充電猿挚,接口可以隨意插拔咐旧。復(fù)用性很強(qiáng),可以獨(dú)立管理绩蜻。

二、組件和模塊的區(qū)別

2.1組件:就像一個(gè)個(gè)小的單位室埋,多個(gè)組件可以組合成組件庫(kù)办绝,方便調(diào)用和復(fù)用,組件間也可以嵌套姚淆,小組件組合成大組件孕蝉。

2.2模塊:就像是獨(dú)立的功能和項(xiàng)目(如淘寶:注冊(cè)、登錄腌逢、購(gòu)物降淮、直播...),可以調(diào)用組件來(lái)組成模塊搏讶,多個(gè)模塊可以組合成業(yè)務(wù)框架佳鳖。

三、為什么要使用組件化和模塊化媒惕?

3.1開發(fā)和調(diào)試效率高:隨著功能越來(lái)越多系吩,代碼結(jié)構(gòu)會(huì)越發(fā)復(fù)雜,要修改某一個(gè)小功能妒蔚,可能要重新翻閱整個(gè)項(xiàng)目的代碼穿挨,把所有相同的地方都修改一遍,重復(fù)勞動(dòng)浪費(fèi)時(shí)間和人力肴盏,效率低科盛;使用組件化,每個(gè)相同的功能結(jié)構(gòu)都調(diào)用同一個(gè)組件菜皂,只需要修改這個(gè)組件贞绵,即可全局修改。

3.2可維護(hù)性強(qiáng):便于后期代碼查找和維護(hù)幌墓。

3.3避免阻斷:模塊化是可以獨(dú)立運(yùn)行的但壮,如果一個(gè)模塊產(chǎn)生了bug冀泻,不會(huì)影響其他模塊的調(diào)用。

3.4版本管理更容易:如果由多人協(xié)作開發(fā)蜡饵,可以避免代碼覆蓋和沖突弹渔。

組件化和模塊化一般情況是一起出現(xiàn)的,他們就像好兄弟溯祸,雖然可以分離但最好一起有個(gè)照應(yīng)肢专。

如圖:“我的淘寶”頁(yè)調(diào)用了會(huì)員模塊、物流模塊焦辅、充值模塊和運(yùn)動(dòng)模塊博杖,而且可以發(fā)現(xiàn)他們調(diào)用了同一個(gè)組件在“我的淘寶”來(lái)展示各自的 模塊。

四筷登、組件的創(chuàng)建和嵌套方法

了解了程序邏輯剃根,那么在我們?cè)O(shè)計(jì)中如何運(yùn)用呢,我用sketch簡(jiǎn)單演示一下組件的創(chuàng)建和嵌套前方。(PS中的智能對(duì)象也能達(dá)到相應(yīng)的目的)

4.1組件的創(chuàng)建:

選中要?jiǎng)?chuàng)建的組件的元素狈醉,點(diǎn)擊創(chuàng)建組件,在組件中就可以看到該組件惠险,修改組件樣式苗傅,會(huì)發(fā)現(xiàn)所有使用該組件的樣式都發(fā)生了改變。

4.2組件的嵌套:

在組件中班巩,找到剛剛創(chuàng)建的組件渣慕,選中組件中的按鈕元素,再次點(diǎn)擊創(chuàng)建組件抱慌,可以看到生成了一個(gè)新的組件逊桦,改變新組件的樣式,發(fā)現(xiàn)原組件也同步發(fā)生了變化遥缕,返回看到所有應(yīng)用該嵌套組件的樣式都被改變卫袒。

下面來(lái)總結(jié)一下本文內(nèi)容:

組件:把重復(fù)的代碼提取出來(lái)合并成為一個(gè)個(gè)組件,組件最重要的就是重用(復(fù)用)

模塊:分屬同一功能/業(yè)務(wù)的代碼進(jìn)行隔離(分裝)成獨(dú)立的模塊单匣,可以獨(dú)立運(yùn)行夕凝,獨(dú)立管理,每個(gè)模塊有很多接口户秤,可供調(diào)用

組件化模塊化優(yōu)點(diǎn):開發(fā)調(diào)試效率高码秉、可維護(hù)性強(qiáng)、避免阻斷鸡号、版本管理更容易

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末转砖,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌府蔗,老刑警劉巖晋控,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異姓赤,居然都是意外死亡赡译,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門不铆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蝌焚,“玉大人,你說(shuō)我怎么就攤上這事誓斥≈蝗鳎” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵劳坑,是天一觀的道長(zhǎng)毕谴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)泡垃,這世上最難降的妖魔是什么析珊? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蔑穴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惧浴。我一直安慰自己存和,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布衷旅。 她就那樣靜靜地躺著捐腿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪柿顶。 梳的紋絲不亂的頭發(fā)上茄袖,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音嘁锯,去河邊找鬼宪祥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛家乘,可吹牛的內(nèi)容都是我干的蝗羊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼仁锯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼耀找!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起业崖,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤野芒,失蹤者是張志新(化名)和其女友劉穎蓄愁,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狞悲,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡撮抓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了效诅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胀滚。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖乱投,靈堂內(nèi)的尸體忽然破棺而出咽笼,到底是詐尸還是另有隱情,我是刑警寧澤戚炫,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布剑刑,位于F島的核電站,受9級(jí)特大地震影響双肤,放射性物質(zhì)發(fā)生泄漏施掏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一茅糜、第九天 我趴在偏房一處隱蔽的房頂上張望七芭。 院中可真熱鬧,春花似錦蔑赘、人聲如沸狸驳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)耙箍。三九已至,卻和暖如春酥馍,著一層夾襖步出監(jiān)牢的瞬間辩昆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工旨袒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留汁针,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓峦失,卻偏偏與公主長(zhǎng)得像扇丛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子尉辑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354