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. form表单中method的get和post区别

    一.问题的提出   <form action="getPostServlet/getPost.do?param4=param4" method="get" ...

  2. Android基本控件之GridView

    我们在使用手机的过程中,会看到一些图片配上文字的一些情况,今天我们就来介绍一下安卓控件的GridView GridView组件用来以网格方式排列视图,与矩阵类似,当屏幕上有很多元素(文字.图片或其他元 ...

  3. Face The Right Way

    Face The Right Way Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 2564   Accepted: 117 ...

  4. CASS转ARCGIS

    本文转载千浪兄弟博客 1.先看看这张图:CASS的扩展属性 ("south" (1000 . "310000")) 对应图斑属性编码“310000”,(&quo ...

  5. js数组的操作 【转】

    用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...

  6. Adobe Edge Animate –svg地图交互-精确的边缘及颜色置换

    Adobe Edge Animate –svg地图交互-精确的边缘及颜色置换 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. 上一篇我们说到了使用jquer ...

  7. poj 2823 单调队列

    思路:裸的单调队列. #include<iostream> #include<cstring> #include<cstdio> #include<algor ...

  8. Nginx - Rewrite Module

    Initially, the purpose of this module (as the name suggests) is to perform URL rewriting. This mecha ...

  9. ASP.NET网站前端页面的复制

    网络普及的时代,遇到问题的首要解决方案并不是问人,而是找度娘.当我们找一些技术性的问题时,会发现很多解决方案在博客里,看看博主发表的博客总是惊叹不已,想要自己也有这么一个好习惯,把学到的东西以自己的方 ...

  10. ubuntu(16.04.01)学习-day2

    1.建立硬链接: ln main.c mainsoft 2.建立软链接:ln -s main.c soft 3.对文档进行统计 wc main.c返回行.单词数和字符数 4.查看相应命令的描述 wha ...