《ASP.NET 框架應用程序實戰》 - 學習筆記

《ASP.NET 框架應用程序實戰》html

========== ========== ==========
[做者] (中) 李發陵 冷亞洪
[出版] 清華大學出版社
[版次] 2017年01月 第1版
[印次] 2017年01月 第1次 印刷
[訂價] 47.00元
========== ========== ==========數據庫

【第02章】 設計模式

(P023) 安全

目前, ASP.NET MVC 4 已內置於 Visual Studio 2012 中; ASP.NET MVC 5 已內置於 Visual Studio 2013 中。服務器

ASP.NET MVC 框架爲建立基於 MVC 設計模式的 Web 應用程序提供了設計框架和技術基礎。它是輕量級的、高度可測試的演示框架,而且它結合了現有的 ASp.NET 特性。 MVC 框架被定義在 System.Web.Mvc 命名空間中,而且是被 System.Web 命名空間所支持的。網絡

(P024) 架構

ASP.NET MVC 框架是基於標準組件的,開發人員能夠根據須要分解和替換每一個組件。框架

(P028) 異步

學習一個軟件開發框架最有效的方式就是了解並使用它。函數

(P031)

MVC 5 項目默認使用 Razor 視圖引擎來開發項目。

(P034)

在 「@{ /* 代碼體 */ }」 中的代碼的每一行都必須以 「;」 結束。

(P035)

輸出變量值 (格式 : @變量) 則不須要以 「;」 做爲結束符。

若是在 「@」 的前一個字符如果非空白字符,則 MVC 引擎不會對其進行處理。

只有一行語句的表達式,以 「@」 開頭,不須要 { } 。

Razor 不支持訪問修飾符 (如 public 、 private 等) ,能夠在單行代碼中定義局部變量。

(P036)

在 「@ {...}」 內部能夠輸出文本,利用 「@:」 進行單行輸出。

(P037)

在 「@ {...}」 內部能夠利用 <text/> 進行多行輸出。

在 Razor 中使用循環須要加關鍵字符 「@」 ,共有兩種方式能夠實現循環的效果。

(P039)

視圖文件默認的目錄爲 : Views\[ControllerName]\[ActionName].cshtml

(P040)

一個 Web 應用程序經過 RouteTable 類型的靜態只讀屬性 Routes 維護一個全局的路由表,該屬性返回一個 RouteCollection 對象,咱們將這個對象稱爲路由表。

(P050)

多數狀況下,會經過一個 Model 對象來處理複雜的參數,如參數爲一個對象,這時 DefaultModelBinder 會遍歷 Model 對象的屬性來綁定參數。

(P052)

若是在 Action 的參數中沒有顯示指定接收的模型參數,則可使用顯示模型綁定方法獲取視圖中提取的數據。

UpdateModel 與 TryUpdateModel 都用於顯示模型綁定。

(P059)

佈局視圖爲公共視圖,文件名一般如下劃線開頭。

佈局視圖中能夠選擇性地使用 @RenderBody() 或 @RenderSection() 方法做爲佈局佔位符,但一個佈局視圖只能有一個 @RenderBody() ,能夠有多個 @RenderSection() 。

因爲佈局視圖的特殊性,決定了佈局視圖不能直接被控制器的方法調用,須要被其餘視圖頁引用後才能使用。

(P060)

若是視圖頁中沒有顯示指定的佈局視圖,則系統會自動調用 「~/Views/_ViewStart.cshtml」 視圖文件中設定的視圖頁做爲佈局視圖。

分部視圖的做用在於一個分部視圖的建立能夠被多個佈局視圖和普通視圖屢次調用。

(P063)

在 ASP.NET MVC 5 中可使用 BundleTable 打包多個 CSS 文件和 JavaScript 文件,以提升網絡加載速度和頁面解析速度。

(P065)

在視圖文件的相應位置調用 ScriptRender 類和 StyleRender 類的 Render() 方法能夠輸出打包的資源。

(P081)

HTML 幫助器的經常使用方法 :

1. @Html.Action() —— 加載指定的分部視圖;

2. @Html.Partial() @Html.RenderPartial() —— 以 HTML 編碼字符串的形式呈現指定的分部視圖;

(P094)

Partial 方法的返回值爲 MvcHtmlString ,而 RenderPartial 方法的返回值爲 void 。

(P095)

UrlHelper 類的經常使用方法 :

1. @Url.Action() —— 使用指定的操做名稱生成操做方法的徹底限定 URL ;

2. @Url.Content() —— 將虛擬 (相對) 路徑轉換爲應用程序的絕對路徑;

3. @Url.Encode() —— 將 URL 字符串中的特殊字符編碼爲字符實體等效項;

【第03章】

(P106)

對於獲取的元素集合,獲取其中的某一項 (經過索引指定) 可使用 eq 、 get(n) 方法或索引號獲取。要注意, eq 返回的是 jQuery 對象,而 get(n) 和索引返回的是 DOM 元素對象。對於 jQuery 對象只能使用 jQuery 的方法,而 DOM 對象只能使用 DOM 的方法。

jQuery 用同一函數實現 set 和 get 方法。

(P110)

編寫插件的目的是給已經有的一系列方法或函數作一個封裝,以便在其餘地方重複使用,方便後期的維護。

避免在插件內部使用 「$」 做爲 jQuery 對象的別名,而應當使用完整的 「jQuery」 來表示,這樣能夠避免衝突。

(P125)

AJAX 技術一般用於客戶端與服務器端異步交換數據,在交換數據時最經常使用到的方法是 get 和 post 。

【第04章】

(P139)

實體映射技術做爲類與表之間的聯繫紐帶,在 ORM 實現中起着相當重要的做用。

(P141)

多對多映射與一對一和一對多映射不一樣,它須要藉助中間表完成多對多映射信息的保存。

在利用 ORM 技術開發應用程序時,最核心的數據優先處理問題即是 「映射」 。爲了成功實現對象與關係之間映射。必須創建的主要文件有 : 映射類 (*.cs 文件) 、 映射文件 (*.hbm.xml 文件) 以及數據庫配置文件 (*.cfg.xml 文件) 。

(P145)

實體數據模型 (EDM) 由三部分組成 : 概念模型由概念架構定義語言來定義,主要描述實體類;存儲模型 (又稱邏輯模型) 由存儲架構定義語言 (.ssdl) 來定義,描述表、列、關係、主鍵及索引等數據對象;映射由映射規範語言 (.msl) 定義,主要包括存儲模型中實體類屬性與存儲模型中列的對應。

【第06章】

(P194)

一位專家曾經說過 : 「全部結構良好的面向對象構架都具備清晰的層次定義,每一個層次經過一個定義良好的、受控的接口向外提供了一組內聚的服務」 。

(P203)

若是說數據層是積木,那邏輯層就是對這些積木的搭建。

(P205)

在實際項目開發過程當中設計數據庫時,會爲每張表設計一個與業務無關的主鍵,這主要是由於 :

1. 爲了惟一地標識表中的每一條記錄,加快檢索的速度;

2. 創建外鍵約束。爲了保證數據的完整性,在數據庫表中創建外鍵是保證數據有效性的方法之一,創建外鍵的前提條件是創建主表的主鍵;

(P217)

框架級的 UI 層通常提供公共的、使用頻率很是高的界面使用方式,它是系統與用戶通訊與交流的平臺,離用戶最近,將直接影響用戶對系統的評價結果。做爲一個軟件架構,不但應該包含底層的功能,還應該包含 UI 層的公共配置,如皮膚、樣式等。

【第09章】

(P255)

基於角色的訪問控制方法 (RBAC) 有如下兩大顯著特徵 :

1. 因爲 角色 / 權限 之間的變化比 角色 / 用戶 之間的變化相對要慢得多,減小了受權管理的複雜性,下降了管理開銷哦;

2. 靈活地支持企業的安全策略,並對企業的變化有很大的伸縮性;

(P258)

要實現基於 RBAC 的權限管理,須要用戶 (User) 、角色 (Role) 和系統功能模塊 (SystemFunction) 三個類。它們之間的映射關係以下 :

1. User 與 Role 之間的關係爲多對多,即一個用戶能夠有多個角色,一個角色對應多個用戶;

2. Role 與 SystemFunction 之間的關係爲多對多,即一個角色包括多個功能模塊,一個功能模塊可容許多個角色使用;

相關文章
相關標籤/搜索