我們遇到的很多項目并不是從零開始的,更多的是需要產品迭代和更新的!在項目業務趨于穩定的時候,iOS攻城獅閑的xxx!
這個時候,可以考慮優化和完善項目了!!!
項目
1、結構和架構(有的是架構,小項目叫結構)
結構 : 1、文件目錄分類 2、第三方庫管理
文件目錄分類
了方便管理,最好將Xcode中的項目展示目錄與實際的存儲目錄保持一致。
此外,一般按業務模塊分類,一級目錄可以按照MVC格式,也可以按照業務模塊劃分
ps:
用最普遍的Model View Controller架構舉例:
以一個基礎的電商項目來解釋,4個tabbarItem對應著四大模塊,首頁、分類、購物車、個人中心,往下每個還可以細分為MVC+Session層
按項目架構來分
ps:
最外層為Model、View、Controller、Session層,內部才是業務模塊
這一塊無需多言,兩者配合使用即可
第三方庫管理
管理方面有三種方式:
1、手動管理
2、手動維護各種第三方庫,適合于已經趨于穩定、極少Bug的三方庫
3、CocoaPods
4、Carthage
這里很推薦使用 Carthage,對項目的入侵性很小,并且是中心化管理,可以嘗試一下,如果其他需求,請自便!!
項目架構 - 大項目 - 推薦使用 MVVM 結構
項目架構
ps:
項目邏輯基本都圍繞了一條主線時,我們采用MVC已經可以很好的滿足我們的需求,但是當業務邏輯日漸復雜的時候,我們單純的采用Model View Controller這種編程模式已經不能很好的將業務邏輯與代碼分離開,也就是邏輯解耦;
為了更好的將ViewController解耦,產生了Model View ViewModel這種編程模式,ViewModel層其實做了一層Model與ViewController中間的橋接,有利有弊,該模式會產生很多膠水代碼,但是配合響應式編程框架(如 ReactiveCocoa或者RxSwift),可以做到最大程度的解耦。適合與自己實際項目業務復雜程度的模式才是好的編程模式。
未完待續!寫不下去了!!