1.MVC的定义
MVC 是 Model-View-Controller 的缩写。Model(模型) - View(视图) - Controller(控制器)是一个用于实现图形用户界面(GUI)程序的软件架构模式。
2.MVC各层所执行的工作
Controller:
响应用户命令
操作 Model
为 Model 选择适当的 View,或是为 View 选择合适的 Model
请求 View 去渲染显式 Mode
View:
将用户的命令或操作传递给 Controller
View 不一定知道它的 Model 类型
在 Controller 分配具体实例前,View 不知道它的 Model 类的实例(实际的视图模型)
View 知道如何在 Controller 请求时渲染 Model
View 不会直接操作 Model,只有 Controller 可以操作 Model
Model:
Model 可以包含业务逻辑,例如数据存储到数据库
Model 由 Controller 进行控制,由 View 进行渲染
Model 不会主动与 Controller 进行交互,即 Model 无法操作 Controller
Model 不会主动与 View 进行交互,即 Model 无法操作 View
顺便介绍MVVM Model-View-ViewModel (MVVM) 模式
MVVM 模式的核心概念简单来说就是打破 View 和 Model 间的隔阂:
-
View 知道其 Model 并可以直接操作 Model
-
ViewModel 直接响应用户操作
-
ViewModel 可以主动通知 View 如何渲染它(Model)
-
Controller 的职责被重新分配给了 ViewModel