分享我设计的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项目目录结构相关推荐
- Java项目目录结构与解析
一个正规的Java项目目录结构首先要清晰. 所以打包的结构就很关键. 如上图所示: bean层 : 放置数据的类 client层 : 放置与用户交互的代码 dao层: 访问数据库层 dao.util层 ...
- html 项目 目录架构,前端项目目录结构规范.pdf
前端项目目录结构规范 前前端端项项目目目目录录结结构构规规范范 简简介介 该文档主要的设计 目标是项 目开发的目录结构保持一致,使容易理解并方 构建与管理. 要要求求 在本文档中,使用的关键字会以中文 ...
- 【Python】Python 项目目录结构
对于一个代码项目,好的目录结构是必不可少的. 我们为什么需要设计好的目录结构? 好的目录结构,意味着好的 可读性 和 可维护性, 可读性好:刚接触项目的人,一眼就能看懂目录结构,知道哪里是 源码,哪里 ...
- 最全的 eclipse web 项目目录结构
本文会尽可能对 java web 项目的目录结构做出最详细的解释,尽量做到浅显易懂. eclipse web 项目目录结构 java web 项目事例 03-springmvc-drien-xgq 是 ...
- angular 标准目录结构_Angular-cli新建项目目录结构详解
Angular-cli新建项目目录结构详解 在上一篇博客中我们已经通过Angular CLI命令行工具创建出来一个全新的Angular项目,要想写项目,首先我们要先搞清楚项目的目录结构是怎样的,每个文 ...
- 1-5Tomcat 目录结构 和 web项目目录结构
对应我的安装路径: web项目目录结构 转载于:https://www.cnblogs.com/huiziz/p/5671612.html
- Spring boot 项目目录结构详解
对SpringBoot项目目录进行分层显示能够使我们的开发思路更加的明确,代码内容更加清晰易懂,下面向大家讲解一下项目目录结构. 代码层的结构 根目录:com.springboot 1.工程启动类(A ...
- Angular4.x 安装|创建项目|目录结构|创建组件
Angular4.x 安装|创建项目|目录结构|创建组件 安装最新版本的 nodejs node.js 官网:https://nodejs.org/zh-cn/ 去官网下载 node.js,下一步下一 ...
- Spring boot 项目目录结构
Spring boot 项目目录结构 推荐工程结构示例: 代码层的结构 根目录:com.springboot 1.工程启动类(ApplicationServer.java)置于com.springbo ...
最新文章
- Firefox 的一个HTTP分析器扩展
- javascript常用排序算法总结
- java gui 线程_如何在java中将消息从工作线程传递给GUI
- Python的类实例属性访问规则
- 米斯特白帽培训讲义 漏洞篇 越权
- k8s ready 不调度_【零基础学云计算】k8s部署---master节点组件部署(三)
- 地壳中元素含量排名记忆口诀_高中化学短周期元素推断题的常见题眼
- java 地址传递 返回值_Java中的值传递和引用传递
- 使用PowerShell读取文件数据
- pytorch中的乘法操作
- 爱可生 mysql监控_actiontech-zabbix-mysql-monitor
- python输出二进制数_Python计算二进制数及输出补码
- Python数据分析实战之北京二手房房价分析
- Word2Vec对新闻进行分类
- 【知识科普】解读闪电/雷电网络,零基础秒懂!
- C# 调用迅雷 7 迅雷下载开放引擎
- C语言--自定义字符串输入/输出函数
- 隐写术----LSB隐写
- python中str数据转换成datetime的方法
- iOS内存管理和malloc源码解读