|—MyProject
|—ignore-folder // 放置不想同步到代码服务器上的内容,通常包括一些体积太大、经常变动、对项目运行影响不大的文件。需要在该目录下添加 .gitignore 对本目录做一些设置。
|—readme.log // 因为 ignore-folder 目录下的内容都是不会同步到代码服务器上的,所以最好加一个 log 文件记录一下你在该目录的操作。
|—3rdparty // 比如,一些不能用 CocoaPods 管理也不想同步到代码服务器上的第三方库。
|—data // 比如,一些经常会变动的、自己的测试数据文件。
|—Utility // 自己实现的一些通用性较好的功能代码,这些代码有比较好的接口且与本项目不存在耦合,可直接复用于其他项目。
|—Common // 本项目的一些全局性代码,这些代码通常与本项目的业务逻辑存在一些耦合,所以不放在 Utility 目录中。
|-各种常量, 宏定义.
|—Feature // 本项目的功能模块目录,该目录下将项目的功能划分为多个模块,每个模块穿透 MVC.
|—Base // 定义本项目中各种 Controller、View、Model 的基础类或基础接口。
|—Controller // 基类控制器
|—View // 基类View
|-Dao // 基类.映射数据库Model
|-Service // 基类业务逻辑
|—Main
|—Controller
|—View
|-Dao // 网络层.映射数据库Model
|-Service // 业务逻辑层.
|—User
|—Controller
|—View
|-Dao // 网络层.映射数据库Model
|-Service // 业务逻辑层.
|—Resource // 本项目的资源目录,放置图片、音频等资料。
|—Image
|—Sound
|—Pods // 采用 CocoaPods 管理的第三方库。
这是我们开发中常用的项目结构, 由于我们通讯层采用的是ICE, 一种跨平台的通讯技术.而ICE会自动完成生成对应的模型数据, 所以在我们的项目中很少说要手动的去操作模型这一块.所以我就把Model层细分为两层, 一层是Dao, 直接对应ICE对应的接口请求.Service是层是针对Dao层的业务逻辑的封装.
网友评论