iOS项目的目录结构和开发流程
目录结构
一个合理的目录结构首先应该是清晰的,让人一眼看上去就能大概了解目录的职责,且容易应对新的变化。
常规的两种结构:
主目录按照业务分类,内目录按照模块分类(主目录按照MVC架构分类,内部根据项目模块分类)
优点:相对比较快定位对应的业务。
缺点:模块相关类太过分散,需要来回切换寻找文件,不方便开发。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18├── Application
├── Categories
├── Controllers
│ ├── Blog
│ ├── Comment
│ ├── Login
│ ├── News
| ...
├── Models
│ ├── OSC
│ └── Team
├── Resource
│ ├── CSS
│ ├── html
│ ├── js
├── Utils
├── Vendor
└── Views主目录按照模块分类,内目录按照业务分类
优点:对模块的类集中化,方便管理与开发。
缺点:当几个模块共用一些类时,不太好归类。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17├── Application
├── Categories
│├── Blog
| ├── Controller
| ├── View
| ├── Model
├── Login
| ├── Controller
| ├── View
| ├── Model
| ....
├── Resource
│ ├── CSS
│ ├── html
│ ├── js
├── Utils
├── Vendor
常见目录结构
Application
这个目录下放的是AppDelegate.h(.m)文件,是整个应用的入口文件,接口文件都可以放在该目录下。
Controllers
视图控制器相关类。
1 | Controllers |
Models
这个目录下放一些与数据相关的Model文件。
1 | Models |
Views
视图,自定义视图,被重用的视图。
1 | Views |
Macros
这个目录下放了整个应用会用到的宏定义。
1 | Macro |
AppMacro.h 里放app相关的宏定义,如:
1 | // 表情相关 |
NotificationMacro.h 里放的是通知相关的宏定义。
UtilsMacro.h 里放的是一些方便使用的工具宏定义。
1 | #define UIColorFromRGB(r,g,b) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1] |
VendorMacro.h 里放一些第三方常量
1 |
如果有新的类型的宏定义,可以再新建一个相关的Macro.h。
Helpers/Utils
这个目录放一些助手类/工具类。自己实现的一些通用性较好的功能代码,这些代码有比较好的接口且与本项目不存在耦合,可直接复用于其他项目。
1 | Helpers |
Vendors
这个目录放第三方的类库/SDK,如UMeng、WeiboSDK、WeixinSDK等等。
Resources
这个目录下放的是app会用到的一些资源文件。