## 如何分层
`MVC`是iOS开发者最常用的框架结构,即便是越来越热门的`MVVM`或是其他框架结构,几乎都是基于`MVC`模式下对各个组块的职责进一步的细化分层罢了。那么,在开发的时候如何制定三部分的层次划分呢?基本上所有的应用无非都是在做这些事情:
[![](http://sindrilin.com/images/MVC%E6%9E%B6%E6%9E%84%E6%9D%82%E8%B0%88/2.jpeg)](http://sindrilin.com/images/MVC%E6%9E%B6%E6%9E%84%E6%9D%82%E8%B0%88/2.jpeg)
虽然上图不能囊括所有的应用,但是基本而言大众开发者干的活就是这些了。简单的根据这些事情来分工,我们可以很快的得出`MVC`和工作内容的对应关系:
~~~
controller <--> 网络请求、事件响应
view <--> 数据展示、动效展示
model <--> 数据处理
~~~
通过对我们开发工作的分工,`MVC`架构的代码分层几乎已经可以确定了,下面笔者会对这三部分进行更详细的讲述