標籤:
1.前言
清晰的項目目錄結構有利於項目的開發,同時也是軟體架構的一部分,所以,項目開發之初搭建項目的目錄結構很重要。剛轉iOS時,自己並不知道如何搭建App的項目目錄,在參與開發兩個應用後,結合Web開發的目錄習慣我整理了自己的目錄結構。分享一下,歡迎交流。
2.我的項目目錄結構
項目目錄├── ThirdLib(三方庫)│ ├── SDWebImage│ └── AFNetworking├── Framework(自己封裝的類庫)├── General(通用類目錄)│ ├── Class(通用的類,比如自訂父類)│ └── Helper(通用輔助方法)├── Main(程式單一入口,僅放AppDelegate區分其他檔案)│ ├── AppDelegate.h│ └── AppDelegate.m├── Model(資料模型類目錄)│ ├── Macro(宏定義目錄)│ ├── BLL(商務邏輯層目錄)│ ├── DAL(資料訪問層目錄)│ ├── Entity(自訂實體目錄)│ ├── Request(網路請求類目錄)│ ├── Location(定位服務類目錄)│ └── Socket(Socket類目錄)├── Module(功能模組目錄)│ │ │ ├─── ModuleA│ │ ├── ViewControllerA.h(視圖控制器標頭檔)│ │ └── ViewControllerA.m(視圖控制器m檔案)│ ├── ModuleB│ ├── ModuleC│ ├── ModuleD│ └── ModuleE└── View(視圖類目錄) └── MyTestView
3.說明1)項目目錄
項目程式檔案根目錄,存放項目程式檔案、資源檔等。
2)ThirdLib
第三方開源類庫,比如,SDWebImage、AFNetworking等。
3)Framework
自己封裝的類庫。
4)General
通用類目錄,存放自訂的視圖控制器基類等。
5)Main
程式單一入口,僅放AppDelegate區分其他檔案
6)Model
資料模型類檔案目錄。主要用於存放自訂的資料模型類。
子目錄:
I)Macro(宏定義目錄)
我把自己的很多宏定義,包括色彩字型等樣式宏定義、商務邏輯宏定義、網路請求、Core Data的宏定義等標頭檔放在該目錄下。命名規則為XxxMacro.h。這樣在標頭檔引入的時候很清楚我要引入哪些宏定義,以避免重複引用。(雖然import已經避免了編譯檔案時重複引入檔案,但是強迫症患者。。你懂的)
II)BLL(商務邏輯層目錄)
商務邏輯層(Business Logic Layer)目錄主要存放的是項目的商務邏輯處理類及分類。按照項目功能需求來封裝商務邏輯。具體命名依所實現的功能業務來命名。
III)DAL(資料訪問層目錄)
資料訪問層目錄 主要存放項目.xcdatamodeld檔案和封裝的Core Data介面類。
IV)Entity(自訂實體目錄)
資料模型實體類目錄。存放例如User等資料模型的類檔案。
V)Request(網路請求類目錄)
存放網路請求的類目錄。
VI)Location(定位服務類目錄)
存放定位服務類。
VII) Socket(Socket類目錄)
存放Socket類。
7)Module
功能模組類目錄,按照項目的功能模組建立子目錄。每個子目錄下存放該模組的視圖控制器檔案。
8)View
視圖檔案類目錄。存放視圖檔案。比如自己封裝的視圖控制項,封裝的cell等。
4.小結
1)吐槽一下部落格園的文檔編輯。編寫HTML模式的時候,我無意間點了取消。。。然後全都木有了。。。都木有了。。。木有了。。。有了。。。了。。。!!!!!!妹啊!!為什麼取消鍵在右邊啊喂!!!!然後command+z。。。頁面就全部崩潰了。。。。面就全部崩潰了。。。。就全部崩潰了。。。。全部崩潰了。。。。部崩潰了。。崩潰了。。。。潰了。。。。了。。。。!!!!!!另外,部落格輸入文本的外掛程式內容地區高度太小了。。。用起來很不爽啊!!!!!!體驗太差!差評
2)言歸正傳,我的目錄結構是綜合了之前的開發經驗和我leader的開發習慣以及網上的目錄結構整理的,並不一定適用於其他項目。歡迎留言交流,謝謝~
iOS開發總結——項目目錄結構