概述:
由于近期离职进行中,特整理目前负责的现有项目的目录结构和程序架构(MVC),程序架构后期整理。
目的:
第一,方便现有同事后期开发;
第二,方便后期自己开发;
第三,方便有这方面需要的开发人员参考。
内容:
主要包括:
1. 项目目录结构:
2. 项目目录结构说明:
在 iOS 工程中我主要是通过添加文件夹,实现逻辑分包,这样有利于我们组织和管理代码,使工程结构清晰和易于理解。 下面就说一说上图项目结构中,主要文件夹的作用:
Bms:这个文件夹下主要放的是与业务相关的文件;
Application:这个文件夹下主要放的是UI相关的文件、业务控制层相关的文件、数据模型、业务逻辑相关的文件等;
BaseServer:这个文件夹下主要放的是 UI 业务逻辑相关文件和业务数据逻辑相关的文件;
Controllers:这个文件夹下主要放的是业务相关控制类,例如:UIViewcontroller;
Dtabase:这个文件夹下主要放的是数据库相关的业务文件;
Models: 这个文件夹下主要放的是业务数据实体(数据模型);
View:这个文件夹下主要放的是UI窗口组件和UI 公共组件;
Config:这个文件夹下主要放的是一些自定义的配置文件,例如:宏定义文件、自定义 .plist文件、.pch文件等;
Helpers:这个文件夹下主要放的是一些辅助业务相关的辅助文件;
IM:这个文件夹下主要放的是即时聊天相关的业务文件;
Core:这个文件夹下主要放的是一些核心代码,比如一些三方包,工具类,底层代码等;
Database:这个文件夹下主要放的是一些数据库底层核心代码;
IM:这个文件夹下主要放的是即时聊天模块的核心代码;
Libs:这个文件夹下主要放的是三方包文件,例如:FMDB 三方包;
Network:这个文件下主要放的是与服务器交互的核心文件,例如:Https、Socket、Webserver等;
Utils:这个文件夹下主要放的是一些系统常用的工具类,例如:获取时间工具类,文件大小等;
Supporting Files :这个文件夹下主要放的是系统生成的文件,比如:AppDelegate文件、info.plist文件和 main.m文件;
Resource:这个文件夹下主要放的是一些资源文件,比如:图片文件、音频文件等;
Frameworks: 这个文件夹下主要是将用到系统的 Frameworks,整理到这个文件夹下,比如:AVFoundation.framework
Products:这个文件夹是系统自己生成的,主要放的是 .app文件。
一个好的项目目录结构其实就能体现开发者的开发思想。
特别说明:如有不妥的地方请各位提出宝贵的意见,或者是有更好的项目目录结构烦请分享。