读书笔记[ASP.NET+MVC4+Web+编程]

  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 
 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。