在深入到 ASP.NET MVC 框架的细节之间,最好熟悉 MVC 的设计模式及其背后的思想。良好地理解 MVC 背后的内容,有助于在阅读本书的过程中将该框架的特性放到相关的情境之中。
3.2 理解 MVC 模式
从高级术语上说,MVC 模式意味着一个 MVC 应用程序将被分离成至少3个部分。
· 模型(Model):含有或表现用户进行操作的数据。
模型可以是简单的视图模型:它们只表现视图与控制器之间传递的数据;
也可以是域模型:它包含业务领域的数据,以及处理这些数据的操作、转换和规则。
· 视图(View):用于将模型的某些部分渲染成用户界面。
· 控制器(Controller):处理传入的请求:执行模型上的操作,并选择渲染给用户的视图。
模型是对应用程序工作的定义。
模型也由不是其职责的内容来定义:
模型不涉及 UI 渲染或请求处理——那些是视图和控制器的职责。(不要将视图和控制器的职责放到模型中进行定义,这些不是模型的
职责)
视图含有将模型元素显示给用户的逻辑,仅此而已。(它们不直接感知模型,也不以任何方式与模型直接通信)
控制器是视图与模型之间的桥梁——请求来自客户端,并由控制器对其进行服务,进而选择一个相应的视图向用户进行显示,并在必要时
执行模型上的相应操作。
MVC 架构的每一个部分都是定义良好和自包含的,这称为关注分离。
模型中操作数据的逻辑仅包含在模型中,
显示数据的逻辑仅包含在视图中,
而处理用户请求和用户输入的代码仅包含在控制器中。
利用各部分之间清晰的分离,无论应用程序有多大,在其整个生命周期中都会更易于维护和扩充。