今天,在读《Objective-C编程》,看到作者对MVC的解释非常地简单易懂。Model-View-Controller(模型-视图-控制器,简称MVC)是一种设计模式,核心理念是:开发程序时所创建的类,都应该可以归类为模型、视图或控制器这三种类型。
模型负责保存自己的数据,并能让其他对象访问这些数据。模型不处理用户界面,也无法把自己画在屏幕上。模型唯一需要完成的任务是保存并管理数据。
视图是应用中的可见元素,知道如何在屏幕上画出自己,并能响应用户的输入。视图和其显示的数据并没有直接的关联,也不负责其显示的保存和管理。那什么是视图对象呢,简单来说,能够看见的对象就是视图对象。
控制器负责执行程序的逻辑功能,以连接和驱动应用的不同组成部分。控制器可以处理事件,并能与应用中的其他对象协同工作。应用中的控制器对象大都需要完成很多繁琐的任务。
模型对象和视图对象之间并没有直接的关联,需要由控制器从中协调。控制器会接收发自某些对象的消息,然后将相应的指令转发给其他对象。