MVC的概念

摘抄自百度百科的一段话:

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式: [1]  
  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
  通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
  通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
  通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

MVC是一个框架模式,它强制性的使 应用程序 输入 处理 输出 分开。使用MVC应用程序被分成三个核心部件: 模型 视图 控制器 。它们各自处理自己的任务。最典型的MVC就是 JSP  +  servlet  +  javabean 的模式。

视图

视图是用户看到并与之交互的界面。对老式的 Web应用程序来说,视图就是由 HTML元素组成的界面,在新式的Web应用程序中, HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括 Adobe Flash和像 XHTMLXML/ XSL, WML等一些标识语言和 Web services.
MVC好处是它能为应用程序处理很多不同的 视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 [6]  

模型

模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像 EJBs和ColdFusion Components这样的构件 对象来处理 数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。


控制器

控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击 Web页面中的超链接和发送 HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。


以下为我的理解,如有不对的希望能指正:
MVC是一种框架,而不是设计模式。其中的区别在于框架是代码的重用,比如说Struts2.3.16.1Hibernate4.3.4Spring4.0.2框架就是一种MVC框架。
我们可以在这个基本的框架上添加我们的代码去实现我们要达到的效果,而且我们可以重复利用这个框架。所以说在很大一定的程度上可以节省我们
的时间。
从另一个角度上看分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
除此之外还有很多优点我就不一一例举了。

但是相对而言,MVC框架由于包含了很多功能所以内部原理相对来说比较复杂。要完全理解需要花费一定的时间。
同时由于模型和视图要严格的分离,这样也给调试应用程序带来了一定的困难。每个构件在使用之前都需要经过彻底的测试。
所以花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值