揭露 ASP.NET MVC4 網站開發美學 目錄與導讀
- 2013-01-30
- 26641
- 0
2012年末我與其他五位 MVC 同好一起著作的這本書《ASP.NET MVC4 網站開發美學》已經開放預購了
寫書的過程有多辛苦,我不覺得是讀者需要知道的,書籍的內容才是讀者應該要關心的部分,這本書的涵蓋非常廣,對於開發網站的點線面幾乎是完整涵蓋,書本頁數高達792 頁,目前正在預購特價中價格十分優惠只要530元【天瓏購買】【博客來購買】。
以下就列出書籍的導讀和目錄的部分讓各位讀者瞭解到本書的內容有多豐富^^
導讀部分
ASP.NET MVC 由 2007 年開始發展至今,我們看到 MVC 開發模式逐漸地成熟,並且一步一步成為網頁開發的主流。在 ASP.NET MVC 4.0 這個版本裡,我們看到了許多令人驚喜的魔法,簡單、快速、強大又充滿彈性,更重要的是,當開發人員掌握了 MVC 開發精髓,便能用更少的時間做更多的事。
第一章:ASP.NET MVC 概觀
本章會對整個 ASP.NET MVC 框架進行介紹,從 Model、View、Controller
進行每一部分責任及作用的討論。有了 MVC 基礎觀念之後,也會介紹史上最強
開發工具 Visual Studio 2012,看 Visual Studio 2012 如何讓我們在開發 ASP.NET
MVC 4 上如虎添翼。
第二章:Model-資料元件與來源的設計方法
本章會介紹 Model,Model 有如資料中心(Data Center)的管理者,資料庫儲存所有的資料,Model 與資料庫溝通進行資料的存取。Model 裡可以使用各種存取技術,我們會介紹微軟的 Entity Framework 與 LINQ。
第三章:Controller-應用程式流程的導演
Controller 在 MVC 架構中擔任核心角色,控制了整個 ASP.NET MVC 的執行流程;本章主要介紹 Controller 類別是如何接收使用者輸入的資料,進行驗證及處理後,將結果送到 View 產生最終呈現給使用者的畫面。
第四章:Routing-串起 Controller 與 View 的魔法師
本章節可以讓讀者學習到 ASP.NET MVC 的入口 Routing 機制,Routing 設定的巧妙可以增進網站的價值,對於初學者來說 Routing 可能過於進階,可在對於 MVC 模式較熟悉後再回頭觀看 Routing 章節。
第五章:View-資料的裝飾家
Controller 並不負責內容的呈現,View 負責資料的呈現,一切呈現資料的邏輯都應由 View 來控管。View 在呈現所使用的技術最為多元也最為複雜,在本章會討論 HTML5、Razor、Helper 語法、SEO 及 ASP.NET MVC 4 新功能之一的合併與最佳化。
第六章:行動平台友善設計
智慧型手機與平板電腦的流行,改寫了整個網路瀏覽行為,但絕大多數的網站都只針對個人電腦的瀏覽器來設計,想要另外提供行動上網設備的網站,往往不是那麼容易。ASP.NET MVC 4 對於行動上網設備提供了很好的支援,不管是從頭獨立開發行動上網設備的網站,或是在現有網站裡增加行動上網專用的 View,都是非常容易。這等於是把網頁接觸的面擴大了好幾倍。
第七章:Web API-HTTP 服務提供者
ASP.NET Web API 是集 WCF 服務與 MVC 模式優點於一身的 HTTP Service提供者,它讓我們透過 URI 資源就可以輕易提供新增、查詢、刪除、修改(CRUD)等服務給遠端用戶端。用戶端不在局限於瀏覽器,只要此應用程式能發出如【http://localhost/api/GetProducts】的請求,即可存取 ASP.NET Web API 服務。
第八章:ASP.NET MVC 進階議題本章都是比較獨立且進階主題,共有 6 個部分:
- 切割專案功能模組的 Area技術
- 降低物件耦合度的控制反轉設計(Inversion of control, IoC
- 開發自訂 View Engine,以符合客製化轉譯規則的網頁
- 使用最新 async 與 await關鍵字的非同步 Controller
- 個人資料保護法施行後,網站開發應注意事項;
- 整合社交網站帳號的登入功能的 OAuth 機制。
第九章:部署 MVC 應用程式
在瞭解了 ASP.NET MVC 網站如何開發之後,最終都要將程式部署至伺服器上。本章介紹如何利用 Visual Studio 2012 內建之部署工具,快速將網站發佈至 IIS 及 Windows Azure 上。
第十章:ASP.NET MVC 測試
測試,在系統開發流程中總被忽略與看輕的一環。好的測試,不只能驗證功能運作是否正常,測試案例更是可即時運作的物件說明書,也是銜接每個開發階段與角色之間的重要橋樑。在 ASP.NET MVC 架構設計時,就已經將測試的相關環節納入考量。在本章中,除了先介紹不同測試方式的基本概念之外,接著更帶領讀者進入實戰體驗,一步一步跟著本書的內容,體驗測試的美好,以及測試可以帶來的好處。讓您辛辛苦苦寫的程式碼,不會偏離使用者需求,更不會發生牽一髮而動全身的情況。
第十一章:各版本的 MVC 升級議題
如果開發人員手上有 ASP.NET MVC 舊版本的專案網站,想要升級至ASP.NET MVC 4,本章將使用逐步教學的方式介紹 ASP.NET MVC 舊有版本升級的步驟,讓開發人員可以享受到最新版 MVC 4 的好處。
目錄
- CHAPTER 1 ASP.NET MVC 概觀
- 1.1 MVC 架構概觀
- 1.1.1 MVC 是什麼?
- 1.1.2 MVC 的優點與特長
- 1.1.3 與傳統 ASP.NET Web Form 的差異
- 1.1.4 MVC 的應用案例
- 1.2 ASP.NET MVC 概觀
- 1.2.1 Model 的責任是什麼?
- 1.2.2 View 的範圍有哪些?
- 1.2.3 Controller 到底要做哪些事?
- 1.3 ASP.NET MVC 各版本新增功能
- 1.4 Visual Studio 開發環境
- 1.4.1 準備開發環境
- 1.4.2 Visual Studio 2012 新增功能介紹
- 1.4.3 Visual Studio Templates
- 1.4.4 NuGet 的使用
- 1.5 建立你的第一個 MVC 網際網路應用程式
- 1.5.1 建立 MVC 專案
- 1.5.2 MVC 的生命週期
- 1.6 ASP.NET Web Form to MVC
- 1.6.1 Web Form 改寫 MVC 後的開發觀念改變
- 1.6.2 資料來源的改變
- 1.6.3 結語
- 1.1 MVC 架構概觀
- CHAPTER 2 Model – 資料元件與來源的設計方法
- 2.1 了解 MVC 中 Model
- 2.2 可重用性高的 Model 設計
- 2.2.1 不同架構下的專案建立方式
- 2.2.2 資料儲存媒體與存取技術
- 2.3 使用 Entity Framework
- 2.3.1 Entity Framework 概念
- 2.3.2 Entity Framework 基本實作範例
- 2.3.3 常用 LINQ
- 2.4 Model Metadata
- 2.4.1 Model Validation
- 2.4.2 Model Binding
- 2.5 結語
- CHAPTER 3 Controller – 應用程式流程的導演
- 3.1 Controller 概念
- 3.2 Controller 與 Action 方法
- 3.3 HTTP 方法(GET、POST、PUT、DELETE)
- 3.4 模型繫結(Model Binding)
- 3.5 ViewData、TempData、ViewBag
- 3.6 資料驗證(Model Validation)
- 3.7 Action Filter 的應用
- 3.8 自訂身分驗證 Action Filter
- 3.9 結語
- CHAPTER 4 ASP.NET Routing – 串起 Controller 與 View 的魔法師
- 4.1 URL Rewriting 與路由概念
- 4.1.1 什麼是 URL Rewriting?
- 4.1.2 ASP.NET MVC 的路由概念
- 4.2 URL Routing 基本應用
- 4.2.1 IgnoreRoute 語法詳細解釋
- 4.2.2 MapRoute 語法詳細解釋
- 4.2.3 加入一個自己定義的 URL Routing
- 4.2.4 URL Routing 如何比對?
- 4.2.5 為 URL Routing 加上限制條件
- 4.3 URL Routing 進階應用
- 4.3.1 如何從程式建立一組網址?
- 4.3.2 直接取得 RouteData 內的值
- 4.4 如何偵錯?
- 4.4.1 安裝 RouteDebugger 2.0
- 4.4.2 如何利用 Route Debugger 測試路由?
- 4.1 URL Rewriting 與路由概念
- CHAPTER 5 View – 資料的裝飾家
- 5.1 與 HTML5 有約
- 5.1.1 MVC4 預設範本與 HTML5
- 5.1.2 HTML5 定義範圍
- 5.1.3 語意標籤介紹
- 5.1.4 HTML5 與表單
- 5.1.5 HTML5 導入注意事項
- 5.1.6 優雅降級(graceful degradation)
- 5.1.7 Modernizr
- 5.2 View 的概念
- 5.2.1 ActionResult
- 5.2.2 資料傳遞
- 5.3 Web View
- 5.3.1 View Engine
- 5.3.2 View Page
- 5.3.3 View Path
- 5.3.4 Shared 資料夾
- 5.3.5 主版頁面
- 5.3.6 部分檢視
- 5.3.7 Scaffold 樣版
- 5.4 Web Helpers
- 5.4.1 HtmlHelper
- 5.4.2 AjaxHelper
- 5.4.3 UrlHelper
- 5.4.4 System.Web.Helpers
- 5.4.5 擴充 Helper
- 5.5 SEO 介紹
- 5.5.1 MVC 與 SEO
- 5.5.2 Open Graph Protocol
- 5.6 合併與最佳化
- 5.6.1 提升網頁速度最佳實務
- 5.6.2 調效測試,讓分數說話
- 5.6.3 JavaScript 和 CSS 與網頁的依依不捨
- 5.6.4 合併與最小化
- 5.6.5 網頁架構分離的再提升
- 5.7 結語
- 5.1 與 HTML5 有約
- CHAPTER 6 行動平台友善設計
- 6.1 不得不面對的考驗
- 6.1.1 Responsive Design
- 6.1.2 網站分別設計
- 6.1.3 檢視分別設計
- 6.2 行動平台模擬器
- 6.3 實作一個行動平台友善專案範本
- 6.3.1 先從網際網路應用程式專案範本開始
- 6.3.2 加入 jQuery Mobile 相關檔案
- 6.3.3 打包 jQuery Mobile 的 JavaScript 和 CSS 檔案
- 6.3.4 版面配置頁
- 6.3.5 瀏覽器覆寫
- 6.3.6 再區分細一點
- 6.4 jQuery Mobile 精要剖析之基礎篇
- 6.4.1 單一頁面與多重頁面
- 6.4.2 頁面轉場特效
- 6.4.3 對話框
- 6.4.4 佈景主題
- 6.4.5 頁首與頁尾
- 6.4.6 導覽工具列
- 6.4.7 按鈕
- 6.4.8 內頁佈置
- 6.5 jQuery Mobile 精要剖析之表單元件篇
- 6.5.1 停用 Ajax
- 6.5.2 下拉選單
- 6.5.3 單選按鈕
- 6.5.4 切換開關
- 6.6 jQuery Mobile 精要剖析之 List View 篇
- 6.6.1 基本 List View
- 6.6.2 巢狀 List View
- 6.6.3 加入縮圖
- 6.6.4 加入分隔列
- 6.6.5 加入計數
- 6.6.6 加入過濾搜尋
- 6.6.7 另外再加入按鈕
- 6.7 結語
- 6.1 不得不面對的考驗
- CHAPTER 7 Web API – HTTP 服務提供者
- 7.1 IIS Express
- 7.1.1 IIS 7.5 Express 簡介
- 7.1.2 applicationhost.config 組態檔
- 7.1.3 使用自訂 config 組態檔
- 7.1.4 從應用程式資料夾啟動網站
- 7.1.5 IIS 8.0 Express 簡介
- 7.1.6 以命令提示字元啟動 IIS Express
- 7.2 化繁為簡的 REST
- 7.2.1 Web API
- 7.2.2 資源(Resource)
- 7.2.3 學習網頁標準
- 7.2.4 RESTful Web Service
- 7.3 WCF & Web API
- 7.3.1 什麼是 ASP.NET Web API?
- 7.3.2 還需要 WCF 嗎?
- 7.4 Hello Web API
- 7.4.1 ValuesController
- 7.5 Web API 與 Entity Framework
- 7.5.1 資料庫與資料模型(EDMX)
- 7.5.2 Web API Scaffolding
- 7.5.3 Web API CRUD 原理解析
- 7.5.4 API 方法驗證與安全
- 7.6 跨平台使用 HTTP 服務
- 7.6.1 HTTP 服務與 jQuery 網頁
- 7.6.2 HTTP 服務與 MVVM 模式
- 7.6.3 HTTP 服務與 HttpClient 類別
- 7.6.4 HTTP 服務與 Action 方法
- 7.6.5 Async 與 Await
- 7.6.6 HttpClient 類別與跨平台開發
- 7.7 Web API & OData
- 7.7.1 OData URI 慣例
- 7.7.2 OData 的支援
- 7.7.3 OData 選項
- 7.7.4 自訂 OData 查詢選項
- 7.8 Web API 與路由
- 7.8.1 路由表
- 7.8.2 路由字典
- 7.8.3 選擇 API 類別
- 7.8.4 選擇 API 方法
- 7.8.5 化身為路由選擇器
- 7.8.6 擴充路由
- 7.9 Web API 的訊息處理常式
- 7.9.1 用戶端訊息處理
- 7.9.2 伺服器端訊息處理
- 7.9.3 自訂訊息處理常式
- 7.10 表單資料
- 7.10.1 傳送表單資料
- 7.10.2 上傳檔案
- 7.10.3 multipart/form-data 讀取表單資料
- 7.11 媒體格式
- 7.11.1 新增 CSV 格式化程式
- 7.11.2 新增 VCard 格式化程式
- 7.11.3 新增 PNG 格式化程式
- 7.12 JSON 與 XML 序列化
- 7.12.1 JSON 媒體格式化程式
- 7.12.2 XML 媒體格式化程式
- 7.12.3 移除 JSON 或 XML 格式化程式
- 7.12.4 物件循環參考
- 7.13 內容協商
- 7.13.1 序列化
- 7.13.2 內容協商的運作
- 7.13.3 預設內容協商
- 7.14 錯誤處理
- 7.14.1 動作過濾器
- 7.14.2 HttpError 類別
- 7.14.3 Web API 追蹤
- 7.15 Web API 常駐
- 7.15.1 主控台應用程式常駐
- 7.15.2 Web API 常駐啟動錯誤
- 7.15.3 用戶端呼叫 Web API 常駐
- 7.15.4 ASP.NET 網站常駐
- 7.16 Web API 組態
- 7.16.1 Web API 常駐組態
- 7.16.2 Services 組態
- 7.16.3 Controller 組態
- 7.17 Web API 輔助說明
- 7.17.1 IApiExplorer 介面
- 7.17.2 ApiExplorer 類別
- 7.17.3 排除 API 方法
- 7.17.4 NuGet:Web API HelpPage
- 7.17.5 MVC 與 Web API
- 7.18 結語
- 7.1 IIS Express
- CHAPTER 8 ASP.NET MVC 進階議題
- 8.1 Area 技術
- 8.1.1 Area 是什麼?
- 8.1.2 建立第一個 Area
- 8.1.3 用了 Area 會遇到的問題
- 8.1.4 Area 小結
- 8.2 控制反轉(IoC)簡介
- 8.2.1 物件相依性的問題
- 8.2.2 如何透過 IoC 解除依賴關係?
- 8.2.3 如何決定目標物件的相依物件?
- 8.2.4 如何在 ASP.NET MVC 中注入 Controller?
- 8.2.5 IoC 小結
- 8.3 自訂 View Engine
- 8.3.1 WebFormViewEngine
- 8.3.2 RazorViewEngine
- 8.3.3 自訂 View Engine
- 8.3.4 實作 View Engine
- 8.3.5 小結
- 8.4 非同步 Controller
- 8.4.1 Controller 與 AsyncController
- 8.4.2 MVC 2 與 MVC 3 的非同步
- 8.4.3 MVC 4 的非同步
- 8.5 ASP.NET MVC 應用程式的安全考量
- 8.5.1 個資法與網站資訊安全
- 8.5.2 診斷與記錄
- 8.5.3 我的密碼沒加密
- 8.5.4 SQL Injection 防制
- 8.5.5 XSS 防制
- 8.5.6 防止跨網站偽造要求
- 8.6 OAuth 簡介
- 8.6.1 在 ASP.NET MVC 中整合 OAuth 登入
- 8.6.2 整合 Windows Live 登入
- 8.6.3 整合 Twitter 登入
- 8.6.4 整合 Facebook 登入
- 8.6.5 整合 Google 登入
- 8.1 Area 技術
- CHAPTER 9 部署 MVC 應用程式
- 9.1 部署至 IIS 7.x
- 9.2 部署至 IIS 6 及 5.1
- 9.3 Windows Azure 部署
- 9.4 結語
- CHAPTER 10 ASP.NET MVC 測試
- 10.1 測試概念與方法
- 10.1.1 為什麼我們需要測試?
- 10.1.2 測試究竟是什麼?
- 10.1.3 測試該由誰負責?
- 10.1.4 何時是測試的發動時機?
- 10.1.5 如何進行測試?
- 10.1.6 測試的效益
- 10.2 測試實戰
- 10.2.1 建立 Visual Studio 2012 測試專案
- 10.2.2 撰寫單元測試
- 10.2.3 整合測試
- 10.2.4 負載測試
- 10.3 結語
- 10.1 測試概念與方法
- CHAPTER 11 各版本的 MVC 升級議題
- 11.1 各版本的 MVC 升級議題
- 11.2 版本升級前的注意事項
- 11.3 MVC1 to MVC4 升級步驟
- 11.4 MVC2 to MVC4 升級步驟
- 11.5 MVC3 to MVC4 升級步驟
- 11.6 結語
看完導讀和目錄以後相信讀者可以了解到,為什麼我們會在書籍封面寫「學 ASP.NET MVC 一定要看的經典之作」立即來預購吧【天瓏購買】【博客來購買】
回應討論