-
1 知识链接
-
2 任务实现
-
3 同步实训
【知识链接】
1.MVC模式原理
MVC是一种设计模式,它强制性地将应用程序的输入、处理、输出流程按照Model、View、Controller的方式进行分离,并被分成三层:模型层、视图层、控制层。图8-1显示了这三层的功能以及它们的相互关系。

图8-1 MVC设计模式
首先,控制器接受用户的请求,并决定应该调用哪个模型来进行处理;然后,模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后,控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。
(1)视图。视图(View),代表用户交互界面。对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接收模型发出的数据更新事件,从而对用户界面进行同步更新。
(2)模型。模型(Model),是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其他层来说是黑箱操作,模型接受视图请求的数据并返回最终的处理结果。一个模型能为多个视图提供数据。业务模型的设计可以说是MVC最主要的核心。
(3)控制器。控制器(Controller),可以理解为从用户接受请求,将模型与视图匹配在一起,共同完成用户的请求。控制层不做任何的数据处理。因此,一个模型可能对应多个视图,一个视图也可能对应多个模型。
2.MVC模式优点
1.各施其职、互不干涉
在MVC模式中,3个层各施其职,所以如果哪一层的需求发生了变化,就只需要更改相应层中的代码,而不会影响到其他层。
2.有利于开发中的分工
在MVC模式中,由于按层把系统分开,那么就能更好地实现开发中的分工。网页设计人员可以开发页面,对业务熟悉的开发人员可以开发模型中相关业务处理的方法,而其他开发人员可以开发控制器,以进行程序控制。
3.有利于组件的重用
分层后更有利于组件的重用,如控制层可独立成一个通用的组件,视图层也可做成通用的操作界面。
MVC最重要的特点是把显示与数据分离,这样就增加了各个模块的可重用性。


