1. 模型:数据和业务逻辑

  2. 视图:展示

  3. 控制器:接收视图输入数据,通过模型层业务逻辑处理后 返回给视图

  4. 分离关注点(模型 视图 控制器)、惯例优先原则

  5. browser-->routing-->controller<--view-->browser

  6. 控制器是告诉下一步该做什么而不是该怎么做,如显示视图则返回actionresults。

  7. 定位视图:优先查找对应文件夹,其次查找shared文件夹

  8. razor:代码段、代码块

  9. 部分视图 @Html.Partial(),PartialView() 可返回给axaj

  10. 控制器传递数据给视图:viewdata 和 viewBage(dynamic)

  11. 视图模型:viewdata.model 强类型试图:@model 类型

  12. HtmlHelper:@Html 生成html

  13. UrlHelper:@Url 生成url

  14. 数据模型、域模型

  15. web form 和 后台web组件(asp.net)

  16. HTTP是无状态的:asp.net是视图状态

  17. 基本区别

    asp.net mvc
    视图逻辑结合 分离
    页面 URL基于文件访问  有路由URL查找控制器
    状态管理 视图 无自动化视图管理
    web form语法 razor语法
    服务器控件 HTML帮助方法
    母板 布局
    用户控件 部分视图
  18. 都能使用路由,但mvc离不开,web from则是为了优化

  19. HTMLhelp能创建自己的方法

  20. 对象关系映射框架 orm(object relational mapping)

  21. entity framework:code-first、model-first、database-first。

  22. 模型数据验证System.ComponentModel.DataAnnotations()

  23. [System.ComponentModel.DataAnnotations.Range(typeof(DateTime),"2010-01-01","2015-02-02",ErrorMessage="错过了")]

  24. 可自定义验证方法

  25. code-first:System.Data.Entity.DbContext 连接字符串KEY与基类名称相同:connectionStrings

  26. ajax:xmlhttprequest对象 先open(设置为异步和回调函数) 后send 后判断status==200和readystate==4

  27. mvc开启客户端验证

  28. 控制器:拦截用户输入,协调模型和视图及其通讯

  29. 模型:数据属性、数据验证、业务逻辑

  30. 视图:渲染UI、绑定模型

  31. 发送到另一层之前检查输入数据

  32. 单一职责原则(srp)、开放封闭原则(ocp 对扩展开放,对修改关闭)、里氏替换原则(lsp)、接口隔离原则(isp)、依赖倒置原则(DIP)

  33. 控制反转:依赖注入和服务定位http://www.cnblogs.com/tylerdonet/p/3297915.html

  34. ActionFilter

  35. 客户端模板:mustache.js

  36. 操作过滤器:实现对请求前后的处理,标记方法

  37. 模型绑定器

  38. jsonp实现跨域ajax请求

  39. web api使用的是 RouteTable.MapHttpRoute()

  40. web api 名称优先 GET PUT POST DELETE

  41. oDATA:开放数据协议 CRUD

  42. web api 中HttpResponseException,可使用异常过滤器,全局注册或属性标注,可重写

  43. Media格式化器:创建后全局注册,可序列化accept中MIME类型

  44. Rest full 风格:

    1. GET /tickets # 获取ticket列表

    2. GET /tickets/12 # 查看某个具体的ticket

    3. POST /tickets # 新建一个ticket

    4. PUT /tickets/12 # 更新ticket 12.

    5. DELETE /tickets/12 #删除ticekt 12

  45. POCO朴素的旧的CLR对象,代表业务实体类模型,专注业务不需要数据库结构

  46. repository模式:资源库、仓储 数据库访问模式,负责持久化应用业务模型,有一对一、聚合根、泛型一对多

  47. 引用类型:==引用 equals值

  48. mvc防御csrf:使用@html.antiforgerytoken(),然后方法上标记.

  49. jQuery.Mobile.MVC nuget 开发手机版,修改bundles

  50. 手机版:以 action.mobile.cshtml 格式

  51. _ViewSwitcher 部分视图可在手机版和电脑版切换

  52. viewport 设置屏幕旋转宽度问题

  53. 51degrees来增强设别能

  54. AsyncController异步控制器

  55. 路由顺序重要

  56. 异步操作主要用于I/O绑定操作(比如数据库访问和远程服务调用等),有2中方法实现异步

    1. *Async/*Completed

    2. public Task<*> M(){ return  }

    3. AsyncManager.OutstandingOperations.Decrement();
  57. WebSocket

  58. SignalR:集线器和永久连接

  59. 服务端缓存(

    1. 请求域中的缓存HttpContext.Items

    2. Session(可存外部)

    3. Application由IIS管理应用程序级别,可跨进程

    4. System.Web.Cache(缓存依赖策略)

      1. http://www.cnblogs.com/kissdodog/archive/2013/05/07/3064895.html

  60. 客户端缓存

  61. MVC可标记outputCacheAttribute属性实现HTML页面缓存

    1. 可配置缓存时间、位置(浏览器or服务端)

    2. VaryByParam属性只有当?参数有效

    3. 可使用Profiles在web.config中配置

  62. this代表扩展string类public static int WordCount(this String str)

  63. 甜甜圈缓存:WriteSubstitution可部分不缓存
    1. MvcDonutCachingNuGet包可以实现高级操作
  64. web农场之物理上独立的服务器集群,web园是指应用程序池包含多个工作进程
  65. AppFabricMemcached、Redis
  66. HTML5缓存:appcache,js本地存储
  67. Yslow 检测web性能
  68. Url越短越好、破折号代替下划线、使用小写字母
  69. MVC路由参数以常量字符串分割{p1}-{p2}-{p3},参数默认为string类型
  70. 路由通配符{controller}/{action}/{*queryValues},控制器操作后面的字符串均算作最后一个参数的值
  71. 拒绝所有aspx请求参数allaspx:routes.IgnoreRoute("{*allaspx}",new {allaspx=@".*\.aspx(/.*)?"});
  72. 可通过正则表达式设置路由约束
  73. 可自定义路由约束方法 
  74. 使用Glimpse观察路由
  75. 可实现基于属性标记的路由
  76. Razor单文件生成器
  77. RenderAction()
  78. 控制器操作异常处理,可全局注册[HandleError(ExceptionType=typeof(System.Data.DataException),View="DatabaseError")]
  79. 重写控制器onException()方法实现异常处理
  80. 自定义错误过滤器
  81. ASP.NET健康监控
  82. 单元测试(类或方法)【自治的、可重复的、独立的、快速的】
  83. 集成测试(测试多个组件之间的交互)
  84. 验收测试(符合需求)
  85. 测试驱动开发(TDD)红灯-绿灯-重构
  86. TestInitialize()初始化公共测试参数
  87. 模拟测试框架 如Moq framework
  88. 自动化浏览器测试WatiN
  89. 代码覆盖率 100行测试了70行
  90. 自动化生成Microsoft MSBuild和TeamFoundation Server
  91. Martin Fowler的书籍:1.分析模式 2.UML精髓 3.重构 4.企业应用架构模式 5.Nosql精髓
  92. Windows Azure
  93. NuGet

    1. https://npe.codeplex.com/releases/clickOnce/NuGetPackageExplorer.application
    2. http://kb.cnblogs.com/page/143191/
    3. https://www.nuget.org/account/Packages
    4. http://www.cnblogs.com/daxnet/archive/2013/05/07/3064577.html 
 

【ASP.NET+MVC4+Web+编程】读书笔记的更多相关文章

  1. Asp.net MVC4高级编程学习笔记-视图学习第一课20171009

    首先解释下:本文只是对Asp.net MVC4高级编程这本书学习记录的学习笔记,书本内容感觉挺简单的,但学习容易忘记,因此在边看的同时边作下了笔记,可能其它朋友看的话没有情境和逻辑顺序还请谅解! 一. ...

  2. 《ASP.NET MVC4 WEB编程》学习笔记------Web API

    本文截取自情缘 1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集 ...

  3. 《ASP.NET MVC4 WEB编程》学习笔记------Web API 续

    目录 ASP.NET WEB API的出现缘由 ASP.NET WEB API的强大功能 ASP.NET WEB API的出现缘由 随着UI AJAX 请求适量的增加,ASP.NET MVC基于Jso ...

  4. 《ASP.NET MVC4 WEB编程》学习笔记------Model模型绑定

    本文转载自haiziguo Asp.net mvc中的模型绑定,或许大家经常用,但是具体说他是怎么一回事,可能还是会有些陌生,那么,本文就带你理解模型绑定.为了理解模型绑定,本文会先给出其定义,然后对 ...

  5. 《ASP.NET MVC4 WEB编程》学习笔记------Entity Framework的Database First、Model First和Code Only三种开发模式

    作者:张博出处:http://yilin.cnblogs.com Entity Framework支持Database First.Model First和Code Only三种开发模式,各模式的开发 ...

  6. 《ASP.NET MVC4 WEB编程》学习笔记------UrlHelper

    HtmlHelper帮助我们生成Html标记代码:UrlHelper帮助我们生成URL链接地址 我们学习一下UrlHelper帮助类,看类名也都知道这个类是用来帮我们生成URL在ASP.NET MVC ...

  7. 《ASP.NET MVC4 WEB编程》学习笔记------RenderBody,RenderPage,RenderSection

    ASP.NET MVC 3 已经正式发布了,现在估计许多人都在拼命学,我也不能例外,刚刚看到了一篇文章,介绍了三个非常有用的方法:RenderBody,RenderPage和RenderSection ...

  8. 《ASP.NET MVC4 WEB编程》学习笔记------HtmlHelper

    本文转载自powerzhang,如果给您带来不便请联系博主. 在实际的程序中,除了在View中展示数据外,还需要在View与后台的数据进行交互,在View中我就需要用的表单相关的元素: 在MVC3框架 ...

  9. 《ASP.NET MVC4 WEB编程》学习笔记------ViewBag、ViewData和TempData的使用和区别

    本文转自大卫Baby ViewBag和ViewData其实是互通的ViewBag和ViewData的区别:ViewBag 不再是字典的键值对结构,而是 dynamic 动态类型,它会在程序运行的时候动 ...

随机推荐

  1. Metadata Lock原理6

      一 简介   上一篇文章 <MetaData Lock 之一>  简单的介绍了MySQL 引入MDL 的前因后果,本文深入了解MDL的实现原理和运行机制.二 MDL 的类型  meta ...

  2. SQL Server中内连接和外连接的区别

    SQL Server中内连接和外连接的区别 假设一个数据库中有两张表,一张是学生表StudentInfo,一张是班级表ClassInfo,两张表之间用ClassId字段进行关联. 如果用内连接,正常的 ...

  3. sqlserver 日期相关2

    1.常用日期方法(下面的GetDate() = '2006-11-08 13:37:56.233') (1)DATENAME ( datepart ,date ) 返回表示指定日期的指定日期部分的字符 ...

  4. TortoiseGit安装和使用的图文教程

    ortoiseGit是Windows下不错的一款Git客户端工具,在Mac下推荐使用sourcetree.下面就介绍一下TortoiseGit安装和使用的方法. 安装TortoiseGit并使用它需要 ...

  5. hashTable(哈希表)的基本用法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...

  6. SSIS 学习(3):数据流任务(下)【转】

    前一篇文章SSIS 学习(2):数据流任务(上), 介绍了如何创建一个简单的ETL包,如何通过一个简单的数据流任务,将一个文本文件的数据导入到数据库中去.这些数据都保持了它原有的本色,一个字符不 多, ...

  7. CSS code snip enjoy.

    <!-- information-total得是动态获取吧. --> <div class="information-mod"> <div class ...

  8. python(3)-内置函数2

    frozenset()    定义一个不能添加修改的集合 >>> s = frozenset() >>> s.add("aaa") Traceb ...

  9. CF 13E. Holes 分块数组

    题目:点这 跟这题BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊  一模一样 分析: 分块数组入门题. 具体的可以学习这篇博文以及做国家集训队2008 - 苏煜<对块状链表的一 ...

  10. MakeFile 文件详解

    GNU的make工作时的执行步骤入下:(想来其它的make也是类似)      1.读入所有的Makefile.      2.读入被include的其它Makefile.      3.初始化文件中 ...