广州传智播客 MVC课程简单介绍
? ?抛开具体的开发语言来讲,MVC是一种软件开发的架构模式,也算是一种思想。在MVC模式中将软件系统分为模型、视图和控制器三个基本部分。
它们各司其职,相互独立,又具有联系,图1-1是MVC三部分的示意图。
模型? 负责对整个软件项目数据和业务的封装和管理。
视图? 负责给用户传递信息,并收集用户提交的信息。
控制器? 负责控制视图的展示逻辑。
class="fit-image" alt="" width="397" src="/Upload/Images/2013092313/C1E5F3EA82CB58EE.jpg" border="0">? 图1-1? MVC示意图1.MVC工作模式
1) 视图
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色。但一些新的技术层出不穷,它们包括Flash、XHTML、XML/XSL和WML等标识语言和Web Services。
如何处理应用程序的界面变得越来越有挑战性。MVC的一大好处就是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
2) 模型
模型表示企业数据和业务规则。在MVC的三个部分中,模型拥有最多的处理任务。例如,它可能用EJB这样的组件对象来处理数据库。被模型返回的数据是中立的,也就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
3) 控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型组件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。
2.MVC优点
在使用ASP或者PHP开发Web应用时,初始的开发模板就是混合层的数据编程。例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快。但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性,也很难满足用户的变化性需求。
MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以更好地体现。
首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。
例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都一样,也就是说订单的处理是一致的。按MVC设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。
其次,由于模型返回的数据不带任何显示格式,因而这些模型也可被直接应用于接口。
再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。应用的业务流程或者业务规则的改变只需改动MVC的模型层即可。
控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起来完成不同的请求,因此控制层可以说是包含了用户请求权限的概念。
最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层上不同的应用具有某些相同的特征,有利于通过工程化和工具化产生管理程序代码。
广州传智播客一直视asp.net MVC为重点课程,.NET教学总监邹华栋更会在课堂上带领大家深入的学习asp.net MVC。更多广州.NET培训课程信息可以关注广州传智播客官方微信(gzitcast)