一、 MVC架构
1.MVC模式是一种严格实现应用程序各部分隔离的架构模式。
隔离:分离关注点,松耦合
2.模型(Model)
代表着核心的业务逻辑和数据。模型封装了域实体的属性和行为
3.视图(View)
视图负责转换模型并把它传递给表示层,通常指HTML代码。遵循“分离关注点”的原则,视图只关注于如何展示数据,不应该包括任何业务逻辑。
4.控制器(Controller)
控制器控制程序的逻辑,并且充当着视图和模型层之间协调的角色。控制器从视图层接受用户输入的信息,然后使用模型来执行特定的操作,并把最终的结果回传给视图。
5.路由(Routing)
简单来说,ASP.Net路由只是个模式匹配系统。开始时,应用程序使用路由表注册一种或多种模式,告诉路由系统如何处理这些与模式匹配的请求。路由引擎在运行时接收到请求以后,它就会根据事先注册的URL模式匹配当前请求的URL。当路由引擎在路由表里发现匹配的模式时,它就会把请求转发给特定的处理器来处理请求;如果找不到匹配的任何路由,路由引擎就不知道如何处理这个请求,就会返回404状态错误码。

Http Request→路由引擎(Routing Engine)→控制器<->从Model中查询数据

视图引擎
6.使用操作过滤器,用于处理横切关注点(安全,缓存,日志,错误处理)
7.OData:开放数据协议
URI:/api/Auction?$top=3&$orderby=CurrentBid
二、 MVC与WebForm的异同
1. 共享HTTP处理程序和模块
2. MVC不使用视图状态机制(ViewState)
3. WebForm:视图和逻辑紧密耦合,页面(基于文件的URL),状态管理(视图),WebForm语法,服务器控件,母版页,用户控件。
4. MVC:视图和逻辑分离,控制器(基于路由的URL),无自动化的视图管理,自定义语法(默认为Razor),HTML帮助方法,布局,部分视图。
三、 WebApi
1. OData:开放数据协议
URI:/api/Auction?$top=3&$orderby=CurrentBid
2.异常处理
HttpResponseException
Public class CustomExceptionFilter:ExceptionFilterAttribute

MVC 基础知识的更多相关文章

  1. Spring MVC基础知识整理➣拦截器和自定义注解

    概述 Spring MVC中通过注解来对方法或者类进行动态的说明或者标注,类似于配置标识文件的属性信息.当标注的类或者方式被使用时候,通过提取注解信息来达到对类的动态处理.在 MVC中,我们常用的注解 ...

  2. Spring MVC基础知识整理➣环境搭建和Hello World

    概述 Spring MVC属于SpringFrameWork的产品,采用Model-View-Controller进行数据交互,已经融合在Spring Web Flow里面.Spring 框架提供了构 ...

  3. MVC基础知识

    1.View中获取Control和View: //获取控制器名称: ViewContext.RouteData.Values["controller"].ToString(); / ...

  4. Spring MVC基础知识整理➣Spring+SpringMVC+Hibernate整合操作数据库

    概述 Hibernate是一款优秀的ORM框架,能够连接并操作数据库,包括保存和修改数据.Spring MVC是Java的web框架,能够将Hibernate集成进去,完成数据的CRUD.Hibern ...

  5. Spring MVC基础知识整理➣国际化和异常处理

    概述 Spring框架为WEB项目提供了国际化以及异常处理机制.所谓的国际化也就是不同国籍,显示不同国籍的语言与符号.异常处理,也就是能够捕获WEB项目下的所有异常信息,并能处理记录这些异常信息机制. ...

  6. Spring MVC基础知识整理➣数据校验与格式化

    概述 将view中Form的数据提交到后台之后,后台如何验证数据的有效性?在这里Spring MVC提供了相应的Hibernate类包(hibernate-validator-4.3.1.Final. ...

  7. Spring MVC基础知识整理➣View与Controller数据交互

    概述 Spring MVC是由View—Controller—Model组成,其中View和Controller的数据交互,成为了关注的核心点.MVC中,我们将View中的数据传递到Controlle ...

  8. ASP.NET MVC基础知识

    1.MVC项目文件夹说明 App_Data:用来保存数据文件,比如XML文件等: App_Start:包含mvc系统启动的相关类: Controller:存放整个项目“控制器”的代码文件: Model ...

  9. mvc基础知识(1)

    复制大佬的,侵权请联系我主动删除 1.js/css合并 在之前的crud例子中,我们引入js/css脚本的方式和平常的web开发一样 <script src="~/Scripts/jq ...

随机推荐

  1. silverlight获取web的url参数

    1.网址(如:http://localhost:8081/index.aspx?name=123) 2.获取name=123的信息 3.IDictionary<string,string> ...

  2. redis 配置文件解读

    # Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写) # # 1k => 1000 bytes # 1kb = ...

  3. jquery中each()函数

    今天在使用each函数时,发现写的js代码明明木有问题,为什么点击没有执行呢.js始终处于入门阶段,只好瞎鼓捣. 弄了半天,总算可以了.代码如下: <script type="text ...

  4. mysql 修改字段长度

    mysql 修改字段长度 alter table news  modify column title varchar(130); alter table 表名 modify column 字段名 类型 ...

  5. (转)Android L Ripple的使用

    声明:Demo并不是有本人所写,本人只是总结在这里 工程源码: RippleDemo.zip ---------------------------------------------------- ...

  6. ViewPager中GridView问题

    GridView 嵌套在ViewPager中问题. 1. GridView属性设置无法显示. 正常显示方式 <GridView android:padding="8dip" ...

  7. python匿名函数(lambda)

    简单来说,编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方 ...

  8. MongoDB 学习笔记(三)—— 修改器的使用

    通常文档只会有一部分数据要更新,所以使用修改器来操作文档极为高效. 小技巧:了解函数功能,不带括号即可.如:db.blog.update即可查看update函数的具体参数和方法体. $set修改器 & ...

  9. ubuntu 安装cloudera hadoop

    参考:http://www.aboutyun.com/thread-8921-1-1.html auto wlan0iface wlan0 inet staticaddress 10.32.37.12 ...

  10. scjp考试准备 - 2 - 逻辑运算及类型转换

    判断如下代码的执行结果: public class Spock{ public static void main(String[] args){ Long tail = 2000L; Long dis ...