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. rand值出现负数的解决方案

    当rand($number)或者mt_rand($number)的时候,$number太大,超过pow(2,31) - 1;即整型最大值的时候,会出现负数. 如果只是单纯转换成整数而已的话,可以采用s ...

  2. mysql online ddl2

          大家知道,互联网业务是典型的OLTP(online transaction process)应用,这种应用访问数据库的特点是大量的短事务高并发运行.因此任何限制高并发的动作都是不可接受的, ...

  3. MHA手动在线切换主 原创3(主不参与复制)

    monitor 执行:slave2连接到slave1,server1 不做(主/从复制角色,停在那里) [root@monitor app1]# masterha_master_switch --co ...

  4. unity工程接入Android sdk后真机测试解锁屏后退出的解决

    unity工程接入如91.移动支付等Android sdk后,真机运行尤其是在4.0+以上坏境,往往会出现解锁屏后退出的情况,解决办法如下: 可以在AndroidManifest.xml中所有的con ...

  5. mysql 批量插入数据过多的解决方法

    使用场景: 测试时需要插入100w的数据,跑sql脚本插入非常慢. 存储过程如下: //DELIMITER DROP PROCEDURE if EXISTS createAmountCount; cr ...

  6. HTML 之 Embed兼容问题

    首先IE只支持对Object的解析,火狐.谷歌.Safari只支持对Embed的解析. 1.传统的方法 <object classid="clsid:d27cdb6e-ae6d-11c ...

  7. 从wordcount 开始 mapreduce (C++\hadoop streaming模式)

    序:终于开始接触hadoop了,从wordcount开始 1. 采用hadoop streamming模式 优点:支持C++ pathon shell 等多种语言,学习成本较低,不需要了解hadoop ...

  8. C#加密算法汇总(转载)http://www.cnblogs.com/zengxiangzhan/archive/2010/01/30/1659687.html

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 方法一:     //须添加对System.Web的引用    ...

  9. CF Watto and Mechanism (字典树+深搜)

    Watto and Mechanism time limit per test 3 seconds memory limit per test 256 megabytes input standard ...

  10. PPI_network&calc_ppi

    # -*- coding: utf-8 -*- # __author__ = 'JieYao' from biocluster.agent import Agent from biocluster.t ...