项目结构

2017-02-01  本文已影响24人  于桓

# 项目结构

---

我也要写一本iOS的书。

#开门一步

一个项目开始大约是什么样的哪。

不谈写项目需求分析,项目设计之类的。

一般写iOS app 规划好,pod init, 然后建几个文件夹,搞个项目结构出来。

#怎么看招来的人是不是新手?

第一眼先看看项目结构。一般仓促学的或者仓促写的项目结构就不一定什么样了。为什么项目结构重要,项目结构关系到后续可读性,可修改性。

#怎么看招来的人是不是科班的?

手写代码,操作系统之类的基础知识是一点。代码review也是一个很重要的一点,上学没背下来也听过,软件工程一般都默写过。

可读性

可修改性

可扩展性

安全性

#言归正传

##工程目录结构

这个就是抛砖引玉一下,这篇主要就是告诉你写项目要有一个项目结构的观念

Config 放配置文件,有的项目里面叫(Macro),常见的设置宏,设置网址,设置开关,比如两个组客户端与后端有进度差异或者上线顺序问题。

Sences 有的人叫Main,ViewControllers,Businsess什么的里面就是根据业务分开,Home,Chat,Login,PersonCenter。每个业务模块下有MVC。Model,View,Controller。或者MVVM

Model 有global的Model和子模块里的Model可见性不同。主要是请求回来的json数据自动转成Model,yymodel,或者本地持久化。

Manager 全局单例的某个操作,DBManager,HotfixManager,AlertManager,RouterManager

Tools 工具文件类,存放工具类,比如数据正则匹配

Resource 放资源什么的

Vender:存放第三方类库

闲扯点写python web的感受,写tornado的时候,会照着django的项目写。

MVC,MVVM,MVP。。。等等争论不休,其实干的比较没用的一件事就是争论用那个好。那个顺手用那个。对于新手比较靠谱的办法是找个比较著名的项目照猫画虎,然后试试改改,觉得那块用不上或者缺自己改改。

##MVC

Model(模型)表示应用程序核心(比如数据库记录列表)。

View(视图)显示数据(数据库记录)。

Controller(控制器)处理输入(写入数据库记录)。

iOS初学一般会遇到一个问题,写成ViewController和Model,写小了或不需要扩展没关系。ViewController写的很臃肿导致异常难以维护。

上一篇 下一篇

猜你喜欢

热点阅读