我們遇到的很多項(xiàng)目并不是從零開始的,更多的是需要產(chǎn)品迭代和更新的矾兜!在項(xiàng)目業(yè)務(wù)趨于穩(wěn)定的時(shí)候损趋,iOS攻城獅閑的xxx!
這個(gè)時(shí)候,可以考慮優(yōu)化和完善項(xiàng)目了R嗡隆;氩邸!
項(xiàng)目
1返帕、結(jié)構(gòu)和架構(gòu)(有的是架構(gòu)桐玻,小項(xiàng)目叫結(jié)構(gòu))
結(jié)構(gòu) : 1、文件目錄分類 2荆萤、第三方庫管理
文件目錄分類
了方便管理镊靴,最好將Xcode中的項(xiàng)目展示目錄與實(shí)際的存儲(chǔ)目錄保持一致。
此外链韭,一般按業(yè)務(wù)模塊分類,一級(jí)目錄可以按照MVC格式偏竟,也可以按照業(yè)務(wù)模塊劃分
ps:
用最普遍的Model View Controller架構(gòu)舉例:
以一個(gè)基礎(chǔ)的電商項(xiàng)目來解釋,4個(gè)tabbarItem對(duì)應(yīng)著四大模塊敞峭,首頁踊谋、分類、購物車旋讹、個(gè)人中心殖蚕,往下每個(gè)還可以細(xì)分為MVC+Session層
按項(xiàng)目架構(gòu)來分
ps:
最外層為Model轿衔、View、Controller睦疫、Session層,內(nèi)部才是業(yè)務(wù)模塊
這一塊無需多言呀枢,兩者配合使用即可
第三方庫管理
管理方面有三種方式:
1、手動(dòng)管理
2笼痛、手動(dòng)維護(hù)各種第三方庫,適合于已經(jīng)趨于穩(wěn)定琅拌、極少Bug的三方庫
3缨伊、CocoaPods
4、Carthage
這里很推薦使用 Carthage进宝,對(duì)項(xiàng)目的入侵性很小刻坊,并且是中心化管理,可以嘗試一下党晋,如果其他需求谭胚,請(qǐng)自便!未玻!
項(xiàng)目架構(gòu) - 大項(xiàng)目 - 推薦使用 MVVM 結(jié)構(gòu)
項(xiàng)目架構(gòu)
ps:
項(xiàng)目邏輯基本都圍繞了一條主線時(shí)灾而,我們采用MVC已經(jīng)可以很好的滿足我們的需求,但是當(dāng)業(yè)務(wù)邏輯日漸復(fù)雜的時(shí)候扳剿,我們單純的采用Model View Controller這種編程模式已經(jīng)不能很好的將業(yè)務(wù)邏輯與代碼分離開旁趟,也就是邏輯解耦;
為了更好的將ViewController解耦庇绽,產(chǎn)生了Model View ViewModel這種編程模式锡搜,ViewModel層其實(shí)做了一層Model與ViewController中間的橋接,有利有弊瞧掺,該模式會(huì)產(chǎn)生很多膠水代碼耕餐,但是配合響應(yīng)式編程框架(如 ReactiveCocoa或者RxSwift),可以做到最大程度的解耦。適合與自己實(shí)際項(xiàng)目業(yè)務(wù)復(fù)雜程度的模式才是好的編程模式辟狈。
未完待續(xù)肠缔!寫不下去了!上陕!