iOS开发-我的iOS工程结构

来源:互联网 发布:中国历史多少年知乎 编辑:程序博客网 时间:2024/05/16 12:26

写在前面

从2013年12月实习就算是踏上了iOS开发的不归路,到现在为止还剩三个月就两年了。从一开始只知道堆代码,到现在开始重视优化业务流程,这之间一直在摸索学习,积累了一些经验,也从前辈那里学到了不少东西。有大神说”iOS开发是一个创造活动,不是一个科研过程,一切以产品为导向。摒弃研究思维,转向系统思维和创造思维。你就算把iOS 所有的API烂熟于心,但却不懂如何设计和创造一个产品,也无济于事。”工程结构算是系统思维的一部分吧,今天借着写新项目的机会,我来介绍下我的iOS工程结构,仅供参考,欢迎建议反馈。

我的iOS工程结构

下面是我做iOS项目的一个工程结构:


主要包括以下group:

Resource:

资源库,包括图片、plist文件等。

Network:

网络处理层(RTHttpClient),封装了基于AFNetworking的网络处理层,通过block实现处理结果的回调,上层调用者是Handler层;

Handler:

系统业务逻辑层,负责处理系统复杂业务逻辑,上层调用者是ViewController;

Application:

这个group中放的是AppDelegate和一些系统常量及系统配置文件;

BaseClass:

一些基本父类,包括父ViewController和一些公用顶层自定义父类,其他模块的类一般都继承自这里的一些类;

Categories:

类别,对现有系统类和自定义类的扩展;

Storage:

简单数据存储,主要是一些键值对存储及系统外部文件的存取,包括对NSUserDefault和plist存取的封装;

Utils:

系统工具类(AppUtils),主要放置一些系统常用工具类;

View:

视图层,这里放的都是继承于UIView的视图,将视图从ViewController中分离出来全部放在这里,这样能保持ViewController的精简;

Controller:

系统控制层,放置ViewController,均继承于Group Base中的BaseViewController或BaseTableViewController;

Model:

系统中的实体,通过类来描述系统中的一些角色和业务,同时包含对应这些角色和业务的处理逻辑;

Database:

 数据层,封装基于FMDB的sqlite数据库存取和管理(RTDatabaseHelper),对外提供基于Model层对象的调用接口,封装对数据的存储过程。


以上就是我的iOS工程结构的简单介绍。

0 0
原创粉丝点击