注:这是本人对多年来iOS开发中项目结构一点本身的看法也是为公司内部制定的iOS项目建立模板结构;文中引入了sina的iOS-iPhone的客户端的界面架构,可是本人并不是sina的工做人员,只是根据本身的理解划分了项目结构,欢迎提出不一样观点,gwinabc@foxmail.com,欢迎转载,转载时请保留文章的全部内容,谢谢.html
本篇文章原文(http://www.cnblogs.com/Shreker/p/5018629.html)会不定时更新...git
项目结构GitHub地址:https://github.com/Shreker/QLProjectDemo.gitgithub
UPDATE: 这些天把文件从新整理一下,添加了一些经常使用的东西,更新见GitHub缓存
=====================架构
当咱们进入到新的公司的第一天,看到之前老员工编写的代码,找个东西累死人咧,那个抓耳挠腮的啊,通常状况下都有想揍人的赶脚. 哈哈, 包忙, 先想一下本身的代码! 想一下本身写的代码怎么才能新来的人一眼就能看懂,想找什么,在几秒以内就能找到?这个就要在前期建立项目的时候留神了, 要保证项目的易读性、易维护性、易扩展性:框架
在我看来, 做为一个项目开发的领头人, 你能够从两个方面着手:工具
今天就先介绍我在作新项目的时候项目架构(代码规范我会在下一篇文章以总结的形式罗列出来),搞理论,这个我不擅长,只好整个例子说一说;考虑到不少人在刚学OC的时候都用`新浪微博`来练手,因此这里就拿新浪微博的iPhone客户端来讲事, 也正好对比一下, 这样更能看出问题所在.(其实,目前市场上基本全部的应用都适用,本文说的就是一个思想,不论平台,不论语言,只要能理解,就能够应用到实际的应用开发中.)spa
为了为项目代码建立一个易读性、易维护性、易扩展性都至关不错的代码模板,如今要求项目代码的搭建者按照以下的步骤进行:设计
一、 全部新建项目最好是「Single View Application」:代码规范
二、 填好各个项目,这里注意,项目名称最好使用英文:
三、 项目建立好以后,第一件事就是修改最低部署系统的Target版本:
四、 接下来就是源文件管理,咱们看左侧的导航区域:
五、 导入咱们已经准备好的项目结构文件(就是项目结构的文件夹和文件的集合在这下载查看)到与项目名称相同的目录之下,如图:
,
结果是这样的:
六、 其中文件夹`QLClasses`中是该项目中的全部源代码,`QLResources`中存放的是全部的非代码资源文件,下面就这两个文件夹的结构就新浪微博目前的结构进行详细的说明:
刚才看到有人提出了不一样的观点,在此表示衷心的感谢.他的意思是项目的代码量若是太大,这种结构根本就不适用.
其实你们误解了,我忘记在文中说明这样设计的初衷和好处,在这里补一下:
任何的问题都有两面性,咱们面临的问题是`变数`太多,而咱们的任务就是把`变数`降到最低,直到咱们想要的答案距离近到咱们可以接受.