欢迎访问我的博客muhlenXi,该文章出自我的博客。
版权声明:本文为muhlenXi原创文章,转载请注明出处,未经允许不得转载.
前言:
MVC,全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
学习贵在记录和总结收获!点击阅读全文了解更多!
正文:
MVC是什么?
MVC是一个基本机制,用于将程序中的所有对象拆分到三个阵营(三层)的一个阵营中。第一层是Model,第二层是View,第三层是Controller。
Model = 你的应用是什么?
Controller = 控制 Model 如何显示在屏幕上。
View = 你的控制器的元素,用于构成界面。
MVC是如何通信的?
Controller -> Model
Controller 对 Model有完全访问权限。
Model -> Controller
Model 通过
Notification & KVO
的方式与Controller通信。
Controller -> View
Controller 对 View 也有完全的访问权限。如:Controller拥有一个outlet属性,该属性指向View中的对象。
View -> Controller
View 通过
action-target
的方式与Controller通信。如:button的点击
View 还通过
Delegate
的方式与Controller通信。
数据不能作为视图的内部属性。它是通过
data source delegate
的方式与Controller通信的。也就是说,Controller从Model中获取数据然后传递给View。
Model <-> View
Model和View不能相互通信。是完全独立的。
通过下图,我们可以很好的理解他们之间的通信方式。
多个MVC的协作
MVC的堆叠可以构成一个复杂的应用 如图所示:
感谢您的阅读,一起学习,一起成长,加油!