MVC是ASPX.NET用于构造Web应用的一种框架,和传统的ASPX.NET开发模式(Web Form)在架构上相同,同样采用三层框架实现,但相比传输开的模式,各层架构更加规范。

传统三层架构:

  • View(前端HTML处理,传输的三层架构一般不含View)
  • Model(实体层,使用前需要创建实例)
  • DAL(数据访问)
  • BLL(业务处理,处理数据或业务之间的事务)

传统架构中需要先实例化一个Model,再通过Modal访问BLL以获取数据处理的能力,BLL中完成了通过DAL对数据的访问或其他的处理事务,最终将数据反馈给前端用户。

MVC三层架构:

  • Model(业务处理,和传统三层架构不同,MVC中的Model具有直接处理能力)
  • View(视图)
  • Controller(用户交互处理,将完成请求及响应事务)

MVC中的Controller主要作用是从View读取数据、控制用户的输入,最终提交给Model。

两者在处理方式上的区别:

(1)     Web From每次请求一个页面时,具体的处理流程如下:

(2)     MVC的处理流程:

关于MVC的路由,可以理解为URI的映射,传统Web中,Web服务器将Uri与磁盘文件直接映射;而MVC中,URI被Web服务器映射到了Controller中。

MVC笔记之一:MVC编程模型的更多相关文章

  1. Java并发编程的艺术读书笔记(2)-并发编程模型

    title: Java并发编程的艺术读书笔记(2)-并发编程模型 date: 2017-05-05 23:37:20 tags: ['多线程','并发'] categories: 读书笔记 --- 1 ...

  2. 大数据学习笔记3 - 并行编程模型MapReduce

    分布式并行编程用于解决大规模数据的高效处理问题.分布式程序运行在大规模计算机集群上,集群中计算机并行执行大规模数据处理任务,从而获得海量计算能力. MapReduce是一种并行编程模型,用于大规模数据 ...

  3. Spring MVC项目快速搭建(编程模型)

    1)配置DispatcherServlet前端控制器(web配置) 2)将xml文件路径告诉Spring MVC(DispatcherServlet) 以上两步等价于继承了WebApplication ...

  4. 【MVC 笔记】MVC 自定义 Attribute 属性中的猫腻

    原想在 MVC Action 上加一个自定义 Attribute 来做一些控制操作,最先的做法是在自定 Attribute 中定义一个属性来做逻辑判断,可惜事与愿违,这个属性值居然会被缓存起来,于是于 ...

  5. Spring MVC 笔记 —— Spring MVC 文件上传

    文件上传 配置MultipartResolver <bean id="multipartResolver" class="org.springframework.w ...

  6. MVC笔记2:mvc+jquery.validate.js 进行前端验证

    1.引用如下js和css 代码 <link href="@Url.Content("~/Content/Site.css")" rel="sty ...

  7. Atitit.web三大编程模型 Web Page Web Forms 和 MVC

    Atitit.web三大编程模型 Web Page    Web Forms 和 MVC 1. 编程模型是 Web Forms 和 MVC (Model, View, Controller). 2.  ...

  8. Atitit.web三编程模型 Web Page Web Forms 和 MVC

    Atitit.web三编程模型 Web Page    Web Forms 和 MVC 1. 编程模型是 Web Forms 和 MVC (Model, View, Controller). 2. W ...

  9. MVC 编程模型及其变种

    MVC 编程模型及其变种 MVC全称是Model View Controller, 这是一个模型(model)-查看(view)-调节器(controller)缩写,这是通过通用的编程模型非.MVC当 ...

  10. ASP.NET Core MVC I/O编程模型

    1. ASP.NET Core MVC I/O编程模型 1.1. I/O编程模型浅析 1.2. 同步阻塞I/O 1.3. 同步非阻塞I/O 1.4. 异步I/O 1.5. 总结 1.1. I/O编程模 ...

随机推荐

  1. background-position,有逗号和没逗号:截然不同的结果

    写星级评分demo的时候,发现background-position这个属性有点神奇 如上图,在其值中加“,”与不加“,”会带来截然不同的结果,来研究一哈,顺便把这个属性复习一下 1.backgrou ...

  2. shell脚本可以解决的问题

    1.各类监控脚本,文件,内存,磁盘,端口 url 监控报警 2.监控网站目录文件是否被篡改,以及如何恢复 3.如何开发各类服务rsync nginx mysql等启动停止脚本 4.开发mysql主从复 ...

  3. 什么是python的全局解释锁(GIL)

    GIL解决了Python中的什么问题? 为什么选取GIL作为解决方案? 对多线程Python程序的影响 为什么GIL还没有被删除? 为什么在Python 3 中GIL没有被移除? 如何处理Python ...

  4. background url base64

    各自含义:data: ----获取数据类型名称image/gif; -----指数据类型名称base64 -----指编码模式AAAAA ------指编码以后的结果. background-imag ...

  5. Connection reset by peer原理解析

    “Connection reset by peer”代表什么?“Connection reset by peer”表示当前服务器接受到了通信对端发送的TCP RST信号,即通信对端已经关闭了连接,通过 ...

  6. html2canvas

    最近公司有个需求,实现html 页面元素转为png图像,这边用了html2canvas来实现.,这里记录一下,避免以后忘了~~ 官网链接: http://html2canvas.hertzen.com ...

  7. 学习linux—— VMware 安装 ubantu 18 如何连接wifi

    1 适配器设置 修改本地连接 2 修改VMware的虚拟网络编辑器 3 虚拟机设置

  8. [leetcode]205. Isomorphic Strings 同构字符串

    Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...

  9. ES6 的面向对象

    JavaScript 语言中,生成实例对象的传统方法是通过构造函数. function Animal(name, age) { this.name = name; this.age = age; } ...

  10. 改变this的指向问题;

    用call()和apply()改变this的指向,那什么时候用this呢?(构造函数),那为什么要用构造函数呢?(为了生成对象). 1.解决函数内this指向的问题 (1)var that/_this ...