iOS開發總結——項目目錄結構


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的開發習慣以及網上的目錄結構整理的,並不一定適用於其他項目。歡迎留言交流,謝謝~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM