分享我設計的iOS項目目錄結構


  公司新項目就要着手研發了,希望能為這個項目多准備點知識。回想自己做過的項目,目錄結構的划分總不如我的心意,有些目錄命名不規范導致表達不明確,有些目錄因為不具有代表性,導致在實際中不能充分發揮作用,導致隨意添加目錄,使得目錄層次更復雜。因此今天着手設計一個語義更加明前,分層更加清晰的,又具有iOS項目普遍性的目錄結構。下面就介紹下我最新設計的目錄結構,目前我拿一個舊的項目用新的設計結構調整后,確實感覺清晰很多,您可以看看后面我展示的項目調整目錄前后的效果。

 

我新設計的目錄結構

MVCS(Model,View,Controller相關。包含各個功能模塊)

Resources(資源型文件目錄,如數據圖片,plist)

Operation(主要的操作類,如網絡請求操作,數據庫操作,操作工具等)

config(宏定義和const等可修改的配置文件)

AppDelegate(這個目錄下放的是AppDelegate.h(.m)文件)

Vendors(第三方組件)

 

  這樣划分,名稱語義比較清晰,讓人一眼看上去就知道各個目錄的主要職責,方便不同功能模塊的同事進行開發測試工作,而且具有代表性,能滿足新功能開發的變化等擴展需要。

 

MVCS(用戶接口相關。按照功能模塊划分子目錄MVC)

       |-功能模塊1(功能模塊目錄)

     |-|-Models            

     |-|-Views     

    |-|-Controllers

 

  |-功能模塊2

    |-|-Models

    |-|-Views

    |-|-Controllers

 

  |-功能模塊3

    |-|-Models

    |-|-Views

    |-|-Controllers

 

  |-Base(重用性較高的BaseMVC,如父控制器,父視圖等)

    |-|-Models

    |-|-Views

    |-|-Controllers

  |-Main(包含功能模塊之外的MVC目錄)

    |-|-Models

    |-|-Views

    |-|-Controllers

Resources(資源型文件目錄,如數據圖片,plist)

   |-photo(照片)

   |-city.plist(城市數據)

 

config(宏定義和const等可修改的配置文件)

  |-Const.h(常量文件)

  |-Macro.h (宏文件)

  |-Notification.h (通知定義文件)

AppDelegate(這個目錄下放的是AppDelegate.h(.m)文件)

  |-AppDelegate.h

  |-AppDelegate.m

 

 

Operation(主要的操作類,如網絡請求操作,數據庫操作,操作工具等)

  |-Net(網絡層的代碼)

  |-Data(數據層代碼)

  |-Tools(工具類)

  |-Category(類目)

 …

 

 

 

Vendors(第三方組件)

  |-Libs(第三方庫)

    |-|-AFNetworking

    |-|-FMDB

    |-|-SDWebImage    

  |-Components(第三方小組件,如第三方自定義控件等)

 …

 

采用新設計的前后效果對比

 

  按照這個設計。我將自己的項目進行了調整。如圖所示:

               

 

  左邊是我采用該設計調整后的新的目錄結構,右邊是原來的目錄結構。明顯左邊的表達清晰,結構合理,而且比較有普遍性;右邊的是我以前的目錄結構,因為有時候舊的目錄結構不能完全達到我的要求,所以就會導致我隨意創建新的目錄,因此明顯比較凌亂。


免責聲明!

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



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