iOS開發(fā)-極致優(yōu)化

我們遇到的很多項目并不是從零開始的,更多的是需要產(chǎn)品迭代和更新的!在項目業(yè)務(wù)趨于穩(wěn)定的時候,iOS攻城獅閑的xxx!
這個時候,可以考慮優(yōu)化和完善項目了?。?!

項目

1、結(jié)構(gòu)和架構(gòu)(有的是架構(gòu),小項目叫結(jié)構(gòu))

結(jié)構(gòu) : 1、文件目錄分類 2、第三方庫管理

文件目錄分類
了方便管理,最好將Xcode中的項目展示目錄與實際的存儲目錄保持一致。
此外,一般按業(yè)務(wù)模塊分類,一級目錄可以按照MVC格式,也可以按照業(yè)務(wù)模塊劃分

ps:
用最普遍的Model View Controller架構(gòu)舉例:
以一個基礎(chǔ)的電商項目來解釋,4個tabbarItem對應(yīng)著四大模塊,首頁、分類、購物車、個人中心,往下每個還可以細(xì)分為MVC+Session層
按項目架構(gòu)來分

ps:
最外層為Model、View、Controller、Session層,內(nèi)部才是業(yè)務(wù)模塊
這一塊無需多言,兩者配合使用即可

第三方庫管理
管理方面有三種方式:
1、手動管理
2、手動維護(hù)各種第三方庫,適合于已經(jīng)趨于穩(wěn)定、極少Bug的三方庫
3、CocoaPods
4、Carthage

這里很推薦使用 Carthage,對項目的入侵性很小,并且是中心化管理,可以嘗試一下,如果其他需求,請自便!!

項目架構(gòu) - 大項目 - 推薦使用 MVVM 結(jié)構(gòu)

項目架構(gòu)

ps:
項目邏輯基本都圍繞了一條主線時,我們采用MVC已經(jīng)可以很好的滿足我們的需求,但是當(dāng)業(yè)務(wù)邏輯日漸復(fù)雜的時候,我們單純的采用Model View Controller這種編程模式已經(jīng)不能很好的將業(yè)務(wù)邏輯與代碼分離開,也就是邏輯解耦;
為了更好的將ViewController解耦,產(chǎn)生了Model View ViewModel這種編程模式,ViewModel層其實做了一層Model與ViewController中間的橋接,有利有弊,該模式會產(chǎn)生很多膠水代碼,但是配合響應(yīng)式編程框架(如 ReactiveCocoa或者RxSwift),可以做到最大程度的解耦。適合與自己實際項目業(yè)務(wù)復(fù)雜程度的模式才是好的編程模式。

未完待續(xù)!寫不下去了??!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容