MVC是一种软件架构模式;分为:模型Model
、视图View
以及控制器Controller
。
作用:实现一种动态的程序设计,简化后续对软件系统的修改和扩展,并使得程序的某一部分的复用成为可能。
看图:
- 数据Model: 负责封装数据、存储和处理数据运算等工作
- 视图View: 负责数据展示、监听用户触摸等工作
- 控制器Controller: 负责业务逻辑、事件响应、数据加工等工作。
规则:
- Model和View永远不能相互通信,只能通过Controller传递。 //(M写封装对象,C调用方法,V写对象属性准备接受)
- Controller若要修改Model数据,Controler需通过Notification和KVO机制。
-
Controller可以直接调用View方法对View进行展示。但当View中的控件需要通过action向Controller报告事件的发生时候需要使用代理机制。
如何分层
基本而言大众开发者干的活就是这些了。简单的根据这些事情来分工,我们可以很快的得出MVC
和工作内容的对应关系:
controller <--> 网络请求、事件响应
view <--> 数据展示、动效展示
model <--> 数据处理
模型Model应该放什么代码
错误做法,将这些处理放在控制器Controller
层中执行: