1 / 5
文档名称:

浅析MVC与三层架构的区别.docx

格式:docx   大小:23KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

浅析MVC与三层架构的区别.docx

上传人:niupai11 2022/6/8 文件大小:23 KB

下载得到文件列表

浅析MVC与三层架构的区别.docx

相关文档

文档介绍

文档介绍:浅析MVC模式与三层架构的区别
三层架构和MVC是有明显区别的,MVC应该是展现模式(三个加起来以后才是三层架构中的 UI层)
三层架构(3-tier application)通常意义上的三层架构就是将整个业务应用划分为:表现层 (UI任何东西和做任何处理。它只是接收请求并 决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
模型Model模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑实现具体的 业务逻辑、状态管理的功能。
视图View视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。就是 与用户实现交互的页面,通常实现数据的输入和输出功能。
控制器controller控制器工作就是根据用户的输入,控制用户界面数据显示和更新model 对象状态。起到控制整个业务流程的作用,实现View层跟Model层的协同工作。
3层架构指:表现层(显示层)业务逻辑层数据访问层(持久化)如果大家非要“生搬硬套”把它 和MVC扯上关系话那我就只能在这里"强扭这个瓜"了即:
V 3层架构中"表现层"aspx页面对应MVC中View(继承的类不一样)
C三层架构中"表现层"(类)对应MVC中的Controller,理解这一点并不难, 大家想一想我们以前写过的Redirect,当然它本身就是跳转了一些链接页面,而MVC中的 Con troller要做的更爽,它控制并显示输出了一个视图。即然所起到的作用都是对业务流程 和显示信息的控制,只不过是实现手段不同而已。
M 3层架构中业务逻辑层和数据访问层对应MVC中Model(必定View和Controller已找到
“婆家”剩下Model只能是业务逻辑层和数据访问层了)
为什么要使用MVC
大部分Web应用程序都是用像ASP, PHP,或者CFML这样的过程化( 已全面支持面向对象模型)语言来创建的。它们将像数据库查询语句这样的数据层代码和像 HTML这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但 这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它 们分开。尽管构造MVC应用程序需要一些额外的工作,但是它给我们带来的好处是无庸质 疑的。
首先,最重要的一点是多个视图能共享一个模型,现在需要用越来越多的方式来访问你的应 用程序。对此,其中一个解决之道是使用MVC,无论你的用户想要Flash界面或是WAP界 面;用一个模型就能处理它们。由于你已经将数据和业务规则从表示层分开,所以你可以最 大化的重用你的代码了。
由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。例如,很多数据 可能用HTML来表示,但是它们也有可能要用Adobe Flash和WAP来表示。模型也有状 态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被Flash网 站或者无线联网的应用程序所重用。
因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层 和业务规则。如果你想把你的数据库从MySQL移植到0racle,或者改变你的基于RDBMS 数据源到LDAP,只需改变你的模型即可。一旦你正确的实现了模型,不管你的数据来自数 据库或是L