浅谈MVC与三层架构

  首先给大家引入下MVC的概念:

  MVC(Model View Controller)模型、视图以及控制器,它是一种较为广泛应用的结构设计模式。

  模型:就是在MVC设计模式中需要被显示的数据。在通常情况下,该模型需要从数据库中读取数据、保存模型的状态等,提供数据的访问方法以及数据的维护。

  视图:就是用来显示模型中数据的用户界面,一般来书,视图就是HTML页面。


  控制器:就是用来处理对用户的输入或者交互命令,以便改变模型的状态,选择适当的视图来显示对应的模型数据。

  工作机制如右图所示:

  (1)用户向控制器发出请求。

  (2)控制器收到用户请求后,向模型请求获得相关的数据。

  (3)模型将对应的数据返回给控制器。

  (4)控制器将有关数据发送到指定的视图。

  (5)视图将数据呈现给用户。

  通过上面的介绍相信大家对于MVC也有了一定的了解和认识,那么MVC与原先我们学习过的三层架构到底有哪些相同点,又有哪些不同之处呢?

  MVC与三层的共同点:

  MVC与三层架构的触发点事相同的——分层,解耦。它们都做到了显示与数据的分离,大大降低了系统的耦合性。

  但是从专业角度来说MVC与三层没有任何关系,三层是三层,MVC是MVC。唯一能把他们联系在一起的就是“三”这个字了,不过从初学者的角度把二者放在一起区分起来学习也更容易理解。

  MVC与三层的不同点:

  可以说它们之间除了相同的剩下的全是不同点。它们有着各自的工作机制详情请见下图:

  

  三层中的UI在MVC中被分解为View和Controller,BLL和DAL被合并为Model。另外在三层中虽然叫做三层架构,但是我们可以根据需要分为多层。三层中也涉及到Model,但是三层里面的Model跟MVC中的Model完全是两回事,三层中的Model是表实体,而MVC中的Model中包括业务逻辑和数据访问。

  MVC对于Web Form的特点:

  (1)易于单元测试

  (2)容易实施测试驱动开发

  (3)易于扩展和替换

  (4)支持Web Form中的有关特性

  (5)URL被映射到控制器

  虽然MVC对于Web Form有一些新的特性,但是MVC并不能替代传统的Web Form技术,这两种技术只是应用在不同场景,具有不同的优、缺点。不能片面的说那种技术高那种技术低,开发者需要根据自己的实际情况选择相应的技术开发项目。以上是个人通过查阅相关资料对MVC于三层架构之间的一些认识,有不足之处,请大家批评指正。

时间: 2024-07-29 15:17:54

浅谈MVC与三层架构的相关文章

浅谈MVC+EF easyui dataGrid 动态加载分页表格_jquery

首先上javascript的代码 <script type="text/javascript"> $(function () { LoadGrid(); }) //加载表格!!! function LoadGrid() { $('#roleGrid').datagrid({ width: 900, striped: true, //交替条纹 fitColumns: true, //防止水平滚动 fit: true,//自动补全 iconCls: "icon-sav

浅谈大数据处理技术架构的演进

浅谈大数据处理技术架构的演进 任桂禾 王晶 新兴应用对大数据处理技术架构的实时性要求不断提高,这对传统的大数据处理技术架构提出严峻的挑战.必须转变架构满足大数据相关业务的实时性要求.文章介绍Hadoop离线处理架构的瓶颈以及Storm实时处理架构的优点,同时,结合实际项目中变更大数据处理技术架构的经验,阐述在实施架构变更过程中的关键技术,实验结果证明使用变更后的技术架构可以满足业务的实时性要求. 浅谈大数据处理技术架构的演进

浅谈Android官方MVP架构解读_Android

综述 对于MVP (Model View Presenter)架构是从著名的MVC(Model View Controller)架构演变而来的.而对于Android应用的开发中本身可视为一种MVC架构.通常在开发中将XML文件视为MVC中的View角色,而将Activity则视为MVC中的Controller角色.不过更多情况下在实际应用开发中Activity不能够完全充当Controller,而是Controller和View的合体.于是Activity既要负责视图的显示,又要负责对业务逻辑的

初识MVC与三层架构

MVC 即 Model View Controller .mvc是一种很好的设计模式的综合应用.其中 M 即Model(模型层),主要负责处理业务逻辑以及与数据库的交互. V 即View(视图层),主要用于显示数据和提交数据. C 即Controller(控制器),主要用于接受请求并控制请求转发.   三层架构,是最基本的项目分层结果.秉承"高内聚,低耦合"的思想,将整个业务应用划分为:UI层(表示层).BLL(业务逻辑层).DAL层(数据访问层).系统的主要功能和业务逻辑在BLL层进

浅谈MVC架构模式

   MVC英文即Model-View-Controller,就是把一个应用分为三个层:视图层.模型层.控制层.    模型层(M)用于封装业务逻辑.    视图层(V)也叫表示层,就是与用户实现交互的界面,通常实现数据的输入和输出功能.    控制层(C)起到控制整个业务流程的作用.简单的说就是调用业务逻辑,然后把得到的数据转发给视图显示给用户. 为了熟悉MVC架构模式,特意将学生查询改成了MVC模式的. 1.首先建立客户端页面(student.jsp): 1 <%@ page languag

asp.net 浅谈MVC 架构模式(上)

最近总听一些人在讨论MVC.MVP.MVVM各种架构模式之间的关系及提升之处,自己也想写一些关于这3种模式相关的东西,同时来比较一下它们的区别.在日常开发中,我们有很多机会接触到MVC.MVP,MVVM也许是搞WPF及Silverlight的同事接触的多一些,但可以肯定的是无论采用哪种模式都是为了解决一些实际的问题.这3种模式是有一定的演化顺序的.大家都知道我们最先接触的是MVC然后是MVP接着最近几年的MVVM.它们分别解决的问题不同,使用的场景也不同,可以说各有各的用处各有各的好处.那么怎么

浅谈Android官方MVP架构解读

综述 对于MVP (Model View Presenter)架构是从著名的MVC(Model View Controller)架构演变而来的.而对于Android应用的开发中本身可视为一种MVC架构.通常在开发中将XML文件视为MVC中的View角色,而将Activity则视为MVC中的Controller角色.不过更多情况下在实际应用开发中Activity不能够完全充当Controller,而是Controller和View的合体.于是Activity既要负责视图的显示,又要负责对业务逻辑的

浅谈MVC框架中View层的优雅设计及实例

设计 在基于B/S的应用程序开发中,从基本的技术分工上来说就是两大块,一是软件显示界面,另一个是程序逻辑.在N年前的脚本语言时代,无论是asp.php还是jsp,我们基本是都是把这两者柔和在一起的.尽管我们想方设法做好很多函数或者包含文件来努力达到软件的复用,但仍然无法满足多变的用户需求,这主要是因为以前的纯脚本编码方式无法很好支持及应用面向对象(OO)领域中的强大功能. 在常见的B/S软件项目中,界面的设计包括html界面.Wap界面及其它由文本字符协议为基本表示的界面等.以我们接触最多的ht

浅谈如何建立三层体系结构的ASP应用程序

程序|体系 随着互连网应用的深入和发展,三层体系结构的应用模式也得到更多人的青睐.本文介绍了三层结构应用程序的概念和优点,并结合一个实例介绍了如何建立三层结构的ASP应用程序. 一.两层结构的ASP应用有何缺点在Browser/Server 应用程序开发领域,微软公司的IIS/ASP以其强大的功能,良好的扩展能力,及与其它微软产品的一致性,迅速地流行起来.它能使一个具有VB/VC经验的程序员,很快地成为一个Web程序员,开发出看上去非常专业的应用.但是,ASP有一个天生的缺点,就是ASP代码和H