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. C语言二维数组作为函数的参数

    前言:今天在实现装配线调度程序时候,用到了二维数组,并将其作为函数的参数.在写程序的时候,遇到一些问题,即二维数组做函数的参数应该如何正确表示.我写程序的错误如下程序所示: #include < ...

  2. c语言函数传递数组

    1.传递数组,打印不出来 #include <stdio.h> void solve() { printf(]); } int main() { int i; ;i<n;i++) { ...

  3. 小白日记17:kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail

    缓冲区溢出实例 缓冲区溢出原理:http://www.cnblogs.com/fanzhidongyzby/archive/2013/08/10/3250405.html 空间存储了用户程序的函数栈帧 ...

  4. IOS横竖屏控制与事件处理

    公司App里面有个需求,即所有界面都是竖屏,且不允许横屏切换,唯独有一个图表界面允许横屏.那么,根据此需求处理如下: 首先,确保App本身应该允许转屏切换: 再次,我的App里面都是走UINaviga ...

  5. Android(java)学习笔记82:我们到底该如何处理异常?

    我们到底该如何处理异常? 原则: 如果该功能内部可以将问题处理,用try,自己能解决就自己解决问题. 如果处理不了,交由调用者处理,这是用throws,自己不能解决的问题,我们就抛出去交个调用者解决这 ...

  6. [改善Java代码]适时选择不同的线程池来实现

    Java的线程池实现从最根本上来说只有两个:ThreadPoolExecutor类和ScheduledThreadPoolExecutor类,这两个类还是父子关系,但是Java为了简化并行计算,还提供 ...

  7. [改善Java代码]在equals中使用getClass进行类型判断

    建议47: 在equals中使用getClass进行类型判断 本节我们继续讨论覆写equals的问题.这次我们编写一个员工Employee类继承Person类,这很正常,员工也是人嘛,而且在JEE中J ...

  8. Nginx - HTTP Configuration, Module Directives

    Socket and Host Configuration This set of directives will allow you to configure your virtual hosts. ...

  9. js解析json读取List中的实体对象示例

    1.由后台action 传给前台是需要将map 转成json格式 复制代码代码如下: Map<String, List> resultMap: JSONObject json = JSON ...

  10. 更换用installshield打包生成exe文件的图标【转】

    最近在研究用installshield2010为自己做的产品打包,自己在网上找写资料,胡乱折腾,最后弄成了一个exe安装包,想要修改exe文件的图标,发现Basic MSI project 无法用in ...