【ASP.NET+MVC4+Web+編程】讀書筆記

  1. 模型:數據和業務邏輯html

  2. 視圖:展現 web

  3. 控制器:接收視圖輸入數據,經過模型層業務邏輯處理後 返回給視圖ajax

  4.  分離關注點(模型 視圖 控制器)、慣例優先原則正則表達式

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

  6. 控制器是告訴下一步該作什麼而不是該怎麼作,如顯示視圖則返回actionresults。數據庫

  7. 定位視圖:優先查找對應文件夾,其次查找shared文件夾json

  8. razor:代碼段、代碼塊api

  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模式:資源庫、倉儲 數據庫訪問模式,負責持久化應用業務模型,有一對1、聚合根、泛型一對多

  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 
相關文章
相關標籤/搜索