關(guān)于iOS組件化的分析
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評論(0)
1.組件化的目的是什么?
最近一兩年很多人都想在項(xiàng)目里面搞組件化,覺得搞組件化好,卻鮮有人知道組件化好在哪里?組件化的目的是什么?個(gè)人覺得組件化主要有兩個(gè)目的:
1.實(shí)現(xiàn)項(xiàng)目代碼的高內(nèi)聚低耦合;
2.方便多人多團(tuán)隊(duì)開發(fā)(這就是大團(tuán)隊(duì)為什么那么熱衷于組件化的原因,對開發(fā)的效率的提升是十分顯著的)。
2.我的項(xiàng)目組件化應(yīng)該做到什么程度?
個(gè)人認(rèn)為組件化的程度取決于項(xiàng)目的大小,當(dāng)一個(gè)項(xiàng)目一個(gè)人可以輕松開發(fā)和維護(hù)時(shí),只需要項(xiàng)目架構(gòu)保持如下圖即可:
把基礎(chǔ)層的部分抽成組件,用cocoapods來維護(hù),實(shí)現(xiàn)基礎(chǔ)層與表現(xiàn)層,業(yè)務(wù)層去耦合,業(yè)務(wù)層與表現(xiàn)層依然耦合。
當(dāng)項(xiàng)目變的越來越大,功能模塊越來越多,需要五到十幾個(gè)人維護(hù)的時(shí)候,就需要明確組織里的每個(gè)人負(fù)責(zé)的功能模塊,在代碼層面也需要業(yè)務(wù)層和表現(xiàn)層區(qū)分開來,業(yè)務(wù)層和業(yè)務(wù)層之間也要區(qū)分開來,表現(xiàn)層與表現(xiàn)層之間也要區(qū)分開來,要想做到這些,需要做很多的工作,首先要?jiǎng)澐趾霉δ苣K,保證一個(gè)模塊的表現(xiàn)層和業(yè)務(wù)層代碼在一個(gè)文件夾;然后一個(gè)模塊下的表現(xiàn)層和業(yè)務(wù)層邏輯要有一個(gè)明顯的區(qū)分;再引入一個(gè)中間件比如CTMediator,作者自己寫的中間件基于CTMediator的ZZRouter,中間件用cocoapods來維護(hù);每個(gè)模塊根據(jù)中間件提供外部調(diào)用的接口,本模塊調(diào)用外部模塊,一律使用中間件來調(diào),實(shí)現(xiàn)模塊間的去耦合。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%