標籤:
設計的項目架構主要引用MVVM+MVC架構,並以功能模組分級。以下為目錄結構。
初級目錄:
我們只需要關注SGZH檔案夾下的目錄,其他為Xcode管理的目錄。可以看到此目錄為項目初級目錄,我們開發過程只需對初級目錄內的檔案進行操作,其主要劃分為3大塊:
AppDelegate: AppDelegate是程式入口,程式啟動和顯示邏輯都定義在內部,主要可以讓開發人員快速找到代理檔案並瞭解程式從啟動到顯示過程,也可以快速進行一些初始化測試。
Resource: 此目錄主要存放一些項目資源檔,如項目切圖、音頻、視頻、coreData資料等。
Class: 存放我們編寫的代碼檔案。
SupportingFile: 項目設定檔。
Info.plist、main.m、pch檔案。
二級目錄:
Resource目錄下: 相對較小的切圖放在Assets內部,並以功能模組劃分檔案夾。如果較大的圖,如啟動頁,引導頁,可以在該目錄下建立對應的功能模組檔案夾存放。其他音頻視頻檔案可以建立對應名字的檔案夾存放。
Class目錄下:
Category: 項目分類檔案。
Macro: 項目全域標頭檔、全域宏和常量
Other: 其他一些設定檔,如網路請求API
Main: 項目主要檔案,全域共用檔案以及一些基類
Tool: 項目工具類,如網路請求工具,緩衝工具,app管理工具等 Vendor: 存放項目需要手動引入的第三方庫。
Sections: 項目功能模組分組。
可按底部tabbar對應選項卡劃分,若有登入、新特性等比較大的功能,也可劃分為一個模組。 若果模組內的子模組功能比較多,也可在其內部劃分一個子模組。 每個模組內部都分4個檔案夾,分別存放對應的Controller、Model、View、ViewModel。 據我瞭解,大部分企業iOS項目都會選取類似這種架構模式。個人覺得此架構較為清晰,可讀性好,並且每個模組檔案夾相對獨立,開發人員相對專註開發自己的模組。
以上為本人從事iOS開發以來總結的一些項目架構經驗,如有不足或者可改進之處可提出修改。
iOS項目架構文檔