ASP.NET与MVC架构区别总结
1)ASP.NET Webforms Behind Code利于快速开发,方便可视化操作。
2)ASP.NET 使用了“基于视图”的解决方案去应对“基于行为”的需求,它处理了客户端的请求,IIS将请求转给对应的页面视图,然后又进行了页面的生命周期的一系列事件,最后服务器返回了一个HTML格式给客户端,这一过程对于
现今的MVC架构而言实在是太繁琐了,而现在的MVC直接将请求给对应的Controller控制器,控制器经过处理直接返回视图View给用户。
3)ASP.NET 不好的架构模式带来的副作用:紧耦合;页面代码ASPX和页面控制代码ASPX.cs永远无法分离,不同页面不能轻易组合使用,页面事件过多维护周期过长。而MVC则不一样,视图可以来回轻松切换,代码易于重用,实现简单方便。
4)HTML并不是服务器返回数据的唯一格式,ASP页面返回格式固定是HTML格式,如果要弹出JS或者使用Ajax调用,就不太方便了,那就只能借助Response了,这就很头疼了。而MVC返回格式是多样化的,JSON格式、HTML格式、JAVAScript格式都可以。
5)“视图”与“数据”的灵活组合,MVC直接将需要的数据传递给页面即可,视图的UI只负责展示即可,不用像ASP一样调用复杂的数据逻辑,何况ASP页面展示逻辑又容易和数据逻辑互相串联,违背了单一原则。
MVC由基于视图的ASP.NET转变为基于行为的架构,更改了如下内容:
a.原理的Behind Code定义为相关的Controller类,原来的事件变成一系列的Action方法
b.View仅仅用于展示数据,不再和数据逻辑纠缠在一起了
c.数据访问层DAL不用做多大改变,因为它本身和Behind Code牵连少,因为中间隔了个BLL业务逻辑层。
因此MVC的Controller类只处理了相关的基于行为操作
现在,MVC通过获得请求,然后把请求给Controller控制器,控制器找到相关的Action,
而Action只需要访问数据,然后将访问的数据经过各种处理之后,将View呈现给浏览器即可。
总而言之:ASP.NET可视化,方便开发人员快速开发,MVC页面与数据逻辑分离,实现了面向对象的思想,方便代码维护、复用、开发。
以上内容为个人参考网上内容后做的简洁描述,若有不当之处,所见者不妨提提意见,以促改进,感谢!
转载于:https://www.cnblogs.com/licin/p/6541997.html
ASP.NET与MVC架构区别总结相关推荐
- 这本694页的程序员砖头书让你精通ASP.NET Core MVC
ASP.NET Core MVC是一个来自微软的Web应用程序开发框架,它结合了模型-视图-控制器(MVC)体系结构的有效性和整洁性.敏捷开发的想法和技术,以及.NET平台的最佳部分. 1.1 ASP ...
- 关于MVC与三层架构、个人总结网上杂七杂八得出的最终成果、asp.net (core) MVC、JavaWeb的MVC
阅读本文必须明白的事情 首先需要明白的是不同语言实现的MVC与三层架构对应的层是不一样的!!! 拿.net来说,.net实现MVC与其他语言的MVC具体实现是不同的,asp.net MVC与 MVC ...
- MVC 之 架构的基本原理及Asp.Net实现MVC
一.引言 许多Web应用都是从数据存储中检索数据并将其显示给用户.在用户更改数据之后,系统再将更新内容存储到数据存储中.因为关键的信息流发生在数据存储和用户界面之间,所以很多应用将数据和用户界面这两部 ...
- mvvm模式和mvc的区别_Android 开发中的架构模式 -- MVC / MVP / MVVM
预备知识 了解 Android 基本开发 看完本文可以达到什么程度 了解如何分析一个架构模式 掌握 MVC,MVP,MVVM 架构定义和实现 更多面试内容,面试专题,flutter视频 全套,音视频从 ...
- MVC架构在Asp.net中的应用和实现
MVC架构在Asp.net中的应用和实现 摘要:本文主要论述了MVC架构的原理.优缺点以及MVC所能为Web应用带来的好处.并以"成都市信息化资产管理系统"框架设计为例,详细介绍其 ...
- OXite 微软一款基于asp.net mvc架构的blog内容管理系统
OXite 微软一款基于asp.net mvc架构的blog内容管理系统 对学习MVC有较好的帮助 URL http://oxite.codeplex.com/ 转载于:https://www.cnb ...
- JavaWeb三层架构的理解/三层架构的优缺点/三层架构与MVC的区别
1.三层架构 我们的开发架构一般都是基于两种形式,一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器服务器.在JavaEE开发中,几乎全都是基于B/S架构的开发.那么在B/S架构 ...
- ASP .NET MVC 架构
ASP.NET MVC 架构 我在写上位软件的时候基本不用MVC架构,MVC架构的分层思想是值得借鉴的.一般我采用如下架构: 1 UI 表示层,处理与用户的交互,获取显示用户数据. 2 BLL 业务逻 ...
- 三层架构与MVC架构的区别
三层架构: 三层架构图 UI(User Interface layer:表现层): 主要是指用户交互的界面.用于接收用户输入的数据和显示处理后用户需要的数据. BLL:(Business Logic ...
- MVC架构模式(2)
简介: MVC最初是在Smaltalk_80中被用来构建用户界面的.M代表模型Model,V代表视图View,C代表控制器Controller. Model模型层,可以简单理解就是数据层,用于提供数据 ...
最新文章
- HDU2642(二维的树状数组)
- linux驱动设备树
- java: ThreadLocal简介
- 034_Tabs标签页
- 又一个jquery+flash上传插件
- python转盘抽奖概率_转盘指定概率抽奖
- MJRefresh的用法
- P6139-[模板]广义后缀自动机(广义 SAM)
- 五周第二次课(4月19日)
- 特斯拉第一季度交付31万辆汽车
- SQL Server中的bcp实用工具(批量复制程序)简介
- Javascript 细节散记
- SecureCRT 下载安装与连接(转)
- 哪个手机浏览器支持html5,四大手机浏览器HTML5兼容性横评
- python数据分析:会员数据化运营(上)——知识点
- kaggle quora_我想以自己的方式使用网络,非常感谢Quora。
- 如何添加油猴脚本用以模拟点击网页按钮
- 人脸识别c语言正方形,Matlab实现的基于FLD的人脸识别系统源代码
- 酒趣与酒情:聊聊酒吧和酒馆的不同
- 浅谈Selenium之WebUI自动化
热门文章
- XenServer 6.5实战系列之六:Creating a Storage Repository (CIFS)
- PHP踩坑:对象的引用
- linux之SQL语句简明教程---CONCATENATE
- bootchart.jar 编译过程
- Linux输入子系统学习笔记
- fft c语言与matlab,c语言matlab实现fft几种编程实例.doc
- Android网卡(Wifi/Lan)带宽测试
- Deadline调度器之(二):细节和使用方法
- linux根文件系统的挂载过程详解
- Linux虚拟文件系统(内核初始化二)