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架构区别总结相关推荐

  1. 这本694页的程序员砖头书让你精通ASP.NET Core MVC

    ASP.NET Core MVC是一个来自微软的Web应用程序开发框架,它结合了模型-视图-控制器(MVC)体系结构的有效性和整洁性.敏捷开发的想法和技术,以及.NET平台的最佳部分. 1.1 ASP ...

  2. 关于MVC与三层架构、个人总结网上杂七杂八得出的最终成果、asp.net (core) MVC、JavaWeb的MVC

    阅读本文必须明白的事情 首先需要明白的是不同语言实现的MVC与三层架构对应的层是不一样的!!! 拿.net来说,.net实现MVC与其他语言的MVC具体实现是不同的,asp.net MVC与 MVC ...

  3. MVC 之 架构的基本原理及Asp.Net实现MVC

    一.引言 许多Web应用都是从数据存储中检索数据并将其显示给用户.在用户更改数据之后,系统再将更新内容存储到数据存储中.因为关键的信息流发生在数据存储和用户界面之间,所以很多应用将数据和用户界面这两部 ...

  4. mvvm模式和mvc的区别_Android 开发中的架构模式 -- MVC / MVP / MVVM

    预备知识 了解 Android 基本开发 看完本文可以达到什么程度 了解如何分析一个架构模式 掌握 MVC,MVP,MVVM 架构定义和实现 更多面试内容,面试专题,flutter视频 全套,音视频从 ...

  5. MVC架构在Asp.net中的应用和实现

    MVC架构在Asp.net中的应用和实现 摘要:本文主要论述了MVC架构的原理.优缺点以及MVC所能为Web应用带来的好处.并以"成都市信息化资产管理系统"框架设计为例,详细介绍其 ...

  6. OXite 微软一款基于asp.net mvc架构的blog内容管理系统

    OXite 微软一款基于asp.net mvc架构的blog内容管理系统 对学习MVC有较好的帮助 URL http://oxite.codeplex.com/ 转载于:https://www.cnb ...

  7. JavaWeb三层架构的理解/三层架构的优缺点/三层架构与MVC的区别

    1.三层架构 我们的开发架构一般都是基于两种形式,一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器服务器.在JavaEE开发中,几乎全都是基于B/S架构的开发.那么在B/S架构 ...

  8. ASP .NET MVC 架构

    ASP.NET MVC 架构 我在写上位软件的时候基本不用MVC架构,MVC架构的分层思想是值得借鉴的.一般我采用如下架构: 1 UI 表示层,处理与用户的交互,获取显示用户数据. 2 BLL 业务逻 ...

  9. 三层架构与MVC架构的区别

    三层架构: 三层架构图 UI(User Interface layer:表现层): 主要是指用户交互的界面.用于接收用户输入的数据和显示处理后用户需要的数据. BLL:(Business Logic ...

  10. MVC架构模式(2)

    简介: MVC最初是在Smaltalk_80中被用来构建用户界面的.M代表模型Model,V代表视图View,C代表控制器Controller. Model模型层,可以简单理解就是数据层,用于提供数据 ...

最新文章

  1. HDU2642(二维的树状数组)
  2. linux驱动设备树
  3. java: ThreadLocal简介
  4. 034_Tabs标签页
  5. 又一个jquery+flash上传插件
  6. python转盘抽奖概率_转盘指定概率抽奖
  7. MJRefresh的用法
  8. P6139-[模板]广义后缀自动机(广义 SAM)
  9. 五周第二次课(4月19日)
  10. 特斯拉第一季度交付31万辆汽车
  11. SQL Server中的bcp实用工具(批量复制程序)简介
  12. Javascript 细节散记
  13. SecureCRT 下载安装与连接(转)
  14. 哪个手机浏览器支持html5,四大手机浏览器HTML5兼容性横评
  15. python数据分析:会员数据化运营(上)——知识点
  16. kaggle quora_我想以自己的方式使用网络,非常感谢Quora。
  17. 如何添加油猴脚本用以模拟点击网页按钮
  18. 人脸识别c语言正方形,Matlab实现的基于FLD的人脸识别系统源代码
  19. 酒趣与酒情:聊聊酒吧和酒馆的不同
  20. 浅谈Selenium之WebUI自动化

热门文章

  1. XenServer 6.5实战系列之六:Creating a Storage Repository (CIFS)
  2. PHP踩坑:对象的引用
  3. linux之SQL语句简明教程---CONCATENATE
  4. bootchart.jar 编译过程
  5. Linux输入子系统学习笔记
  6. fft c语言与matlab,c语言matlab实现fft几种编程实例.doc
  7. Android网卡(Wifi/Lan)带宽测试
  8. Deadline调度器之(二):细节和使用方法
  9. linux根文件系统的挂载过程详解
  10. Linux虚拟文件系统(内核初始化二)