分享我设计的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(第三方小組件,如第三方自定義控件等)
?…
?
采用新設計的前后效果對比
?
按照這個設計。我將自己的項目進行了調整。如圖所示:
? ? ? ? ? ? ? ?
?
左邊是我采用該設計調整后的新的目錄結構,右邊是原來的目錄結構。明顯左邊的表達清晰,結構合理,而且比較有普遍性;右邊的是我以前的目錄結構,因為有時候舊的目錄結構不能完全達到我的要求,所以就會導致我隨意創建新的目錄,因此明顯比較凌亂。
轉載于:https://www.cnblogs.com/JackieHoo/p/5011114.html
總結
以上是生活随笔為你收集整理的分享我设计的iOS项目目录结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络之物理层:6、传输介质
- 下一篇: 操作系统之计算机系统概述:5、中断和异常