iOS項目目錄結構

目錄結構的重要性

一個好的目錄結構,能讓人一目了然這是要干什么的;一個好的目錄結構,能讓人很清楚的知道自己要找的東西在哪里;一個好的目錄結構就像一個干凈整潔的家,能給緊張的生活帶來輕松而不是壓力。就像我用Windows電腦,喜歡給硬盤分:系統(tǒng)、下載、軟件、收藏這四個區(qū)一樣。但凡系統(tǒng)的文件,都放在系統(tǒng)盤之下。所有的下載,下載路徑都設置為“下載”。軟件安裝包都放在“軟件”。需要收藏的文件,都放在“收藏”。這我要取某個文件或者保存文件的時候,就很清楚我的目標路徑在哪。對于開發(fā)來說,一個好的目錄結構,不說在工作效率的提高上,至少是在心理上是能夠給人帶來輕松的。此處就分享一下我自己積累的、感覺比較好的iOS項目目錄結構。

iOS項目目錄

首先來看一下總的目錄結構

項目目錄

當我們使用創(chuàng)建一個項目后,除了Code、Resource這2個文件夾外,其它的都是系統(tǒng)自動生成(Unit Tests、UI Tests沒有包含)的。為了把所有的代碼放到一個文件夾,所有的資源文件(圖片、音頻、其它)文件放到一個文件夾,因此創(chuàng)建了Code、Resource兩個文件夾。以后我們就很明白的知道,代碼文件應該進Code,資源文件應該進Resource。

接下來,我們來看看Code里面該怎么分文件夾。

Code目錄

在Code下面,我們分出了四個文件目錄。分別為Function(功能)、Class(類)、Libs(第三方)、Macro(配置)。

所有的項目功能(例如注冊、登錄等),需要寫在Function目錄下。

項目用的一些工具類(例如重新封裝的網(wǎng)絡請求、封裝的支付類),則需要寫在Class目錄下。

Libs用于存放一些第三方(cocoapods上沒有的),例如支付寶SDK。

Macro用于存放系統(tǒng)的一些配置,例如app的一些宏、顏色、請求地址管理等。

對于Function,需要寫項目的一些功能,例如登錄。所以其目錄之下,一般都是按照功能名來進行設定目錄的。而我們采用的是MVC的設計模式,所有功能名之下,必然會有MVC的目錄。至于Model、View、Controller,只需要對號入座即可。

Function目錄結構

對于Class,由于是存放項目的一些類,所以重新封裝的網(wǎng)絡請求、基礎Controller、定位管理、訂單管理等“公共”類,都需要放在這里。這個目錄里的類,一般來說都是應該比較有價值的,需要我們認真的去封裝書寫。其目錄結構如下。

Class目錄結構

對于Libs,第三方類,用于存放一些第三方的庫。項目的第三方主要由cocoapods來管理,但不是所有的類都能在cocoapods上找得到,所以,這個Libs還是很有必要的。例如支付寶的SDK,則只能官網(wǎng)下載。

Libs目錄結構

最后的Macro,系統(tǒng)配置管理。我覺得這個也是非常重要的,將所有的系統(tǒng)設置項整合在一起,會很方便我們去對系統(tǒng)的配置進行管理。例如常用的宏、網(wǎng)絡接口、顏色、尺寸等的控制等。

Macro目錄結構

例如這里的URLConfig.h,基地址+接口地址。當服務器地址切換的時候,我們只需要更改基地址,而不用去一個個的更改接口地址了。

URLConfig結構

總結

一個好的目錄結構,對于開發(fā)來說還是很重要的,尤其是對項目不是很熟悉的新成員,好的目錄結構能讓他很快的進入狀態(tài)跟著團隊一起開發(fā)。同時對于項目的維護升級,也是很有便利的。

這里是我在iOS項目開發(fā)中,個人總結的,感覺比較好的目錄結構。當然,適合自己的才是最好的。每個人都會有自己習慣的目錄結構,此處只做借鑒只用。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,036評論 25 709
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 100,675評論 9 468
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • main (主目錄結構)模塊一: Controller View Model Other模塊二: Controll...
    xmb閱讀 939評論 0 3
  • 相信很多媽媽都聽過這樣一種說法,那就是“寶寶不會爬就說明不聰明”,這是真的嗎?這種說法有科學依據(jù)嗎?今天,小編就帶...
    照相館的舊憶閱讀 670評論 0 0

友情鏈接更多精彩內容