< >
台灣微軟開發工具暨平台推廣處資深產品行銷經理 吳典璋知名部落客 黑暗執行緒專業推薦‧學習 ASP.NET MVC 不可不看的經典教材,全新改版‧涵蓋 Visual Studio 2013 Update 2, MVC 5.2, Web API 2.2 等最新內容‧首先揭露 ASP.NET vNext: MVC 6 的神秘面紗ASP.NET MVC 是微軟 Web 開發平台中最重要的一塊拼圖,也是微軟在 Web Forms 開發模式外的另一個選擇,不但具備了 MVC 開發模式的基礎,其架構特性更適合用來開發大型的 Web 應用程式,且 ASP.NET MVC 開發方式在台灣逐漸受到重視,因此學習 MVC 己是刻不容緩。本書作者群在 ASP.NET MVC 開發上均有豐富的實務經驗,讓讀者能夠快速進入 ASP.NET MVC 的世界。全書以 ASP.NET MVC 5 為主,應用範圍可涵蓋 MVC 2-5,豐富且扎實的 Model/View/Controller 教學,讓讀者能快速的進入 ASP.NET MVC 的開發領域內,對於需要學習 MVC 應用程式開發的初學者或是己經具備 Web Forms 開發經驗的程式設計師來說,本書是必定要閱讀的經典之作。本書重點內容:‧本書與前版不同,經過大幅改寫,呈現出完全不同的風貌‧涵蓋 MVC 5.2 RTM, Web API 2.2 RTM 及 Visual Studio 2013 Update 2 等最新內容‧快速學會 Model 的概念,LINQ 以及 Entity Framework 開發技術‧深度認識 Controller 以及如何靈活運用‧使用 Routing 技術,讓網站在搜尋引擎中擁有高排名‧View + Bootstrap,無其他 MVC 書籍可望其項背‧Web API 最詳實的教學與參考資料‧充實的網站安全性技術探討‧唯一介紹 ASP.NET Identity 的中文書‧完整的 CMS 個案範例,充份運用 MVC 的技術與特性‧搶先預覽 ASP.NET vNext 及 MVC 6
demo (twMVC 社群創始人,微軟 MVP)小朱 (微軟 MVP,審校兼作者)王育民 (Dino,twMVC 社群創始人)陳傳興 (Bruce,Study4 與 twMVC 社群核心成員,微軟 MVP)陳仕傑 (91,微軟 MVP)
推薦序一邁向現代化網站技術的世界 — ASP.NET開發者的路更廣!Web開發技術在這幾年來,為了因應行動裝置及雲端服務的應用趨勢,有很大的變化及演進,而MVC 這樣的開發框架,在大型及關鍵的應用開發也愈來愈普及,然而開發一個完整且現代化的Web應用,所需要的技術也變得更多元,常讓剛進入Web開發領域的新手無所適從,ASP.NET及Visual Studio 2013為了因應新時代的軟體開發趨勢及需求,提供了一個完善的開發環境並且不斷地強化,讓開發者很容易地上手以進行開發工作。例如ASP.NET Web API這項技術,打造一個共用性高的服務供不同平台及應用來存取,是開發人員所需學習的實用技術,另外像Bootstrap這個CSS/JavaScript框架,在ASP.NET MVC或Web Forms的專案範本都已內建了,讓開發者很容易地開發一個響應式網頁,提供給手機、平板及各種裝置之用戶最好的操作體驗;還有現在許多對外的網路服務可使用各種社交帳號登入,透過ASP.NET Identity這個令人讚賞的技術,開發身份驗證及管理的程式更容易了!這本由多位微軟MVP所執筆的ASP.NET MVC書籍,融合了這些開發現代化網站所需的技術,難得集結了各專業領域有實務經驗的專家,由淺到深的章節設計,很適合有系統性的學習,書中這些現代化網站的技術也專門寫成獨立的章節,即使是使用Web Forms技術的開發者也可以參考,還有像是程式的日誌處理,都是很實用的網站開發技巧。本書最後提到了軟體測試以及網站安全性的觀念及作法,例如如何設計一個安全且維護性高的網站架構、如何測試以確保程式的品質,這些實務上會碰到的問題及作法,可運用在你的工作上,更增加了本書的價值及實用性。台灣微軟 開發工具暨平台推廣處資深產品行銷經理吳典璋 Dann Wu推薦序二擁抱ASP.NET MVC,網站開發再升級ASP.NET Web Forms概念的出現掀起一波網頁開發革命,對HTML、JavaScript一無所知的開發者也能寫出AJAX網頁,簡直是件奇蹟。然而,魔法般的Web Forms Server Event,背後需付出效能代價;過於便捷自由的開發方式,則易讓初學者不知不覺在前後端穿插商業邏輯與SQL查詢,導致邏輯散亂卻又緊密相依,維護與測試難度大增。對照Java Spring Framework、Ruby on Rail、CakePHP等架構,運用MVC設計模式已然成為網站開發主流;常陷於邏輯混雜泥沼的ASP.NET Web Forms網站,有時會給人欠缺嚴謹性,難以建構中大型系統的非專業印象。2009年微軟推出ASP.NET MVC 1.0,自此.NET開發者有了新選擇。依循MVC架構,開發人員能依直覺切割出HTML/JavaScript等UI端邏輯(View)、資料邏輯(Model)以及流程銜接邏輯(Controller),無形中實踐MVC最重要的關注點分離(SoC)精神。而ASP.NET MVC在設計時大量應用依賴注入(DI)、AOP(ActionFilter即為經典範例)等設計模式,處處預留擴充與改寫彈性,使架構易於調整,足以面對各式艱鉅挑戰。而網站能結合單元測試,相較於Web Forms也是一大突破。轉眼間,ASP.NET MVC已演進到第五版,架構轉向OWIN開放標準並擺脫對IIS的依賴,開發者可自由抽換網站平台、身分認證或是處理管道的任一組件,可塑性幾乎沒有極限。個人參與ASP/ASP.NET網站開發十多年,乍見ASP.NET MVC便心動不已,深入了解後更為其架構之美吸引,之後即在新專案身體力行。但對現有Web Forms開發人員而言,MVC概念差異甚大,轉換需要一番學習及導引。個人曾在部落格發表ASP.NET MVC豬走路系列文章,便是希望引導更多人投身ASP.NET MVC,但網路文件及部落格文章畢竟較為片段零散,系統化整理必備知識的書籍仍是學習新技術較有效率的途徑。繼ASP.NET MVC 4開發美學之後,由微軟MVP小朱領軍,與demo、Dino、Bruce等長期致力ASP.NET MVC推廣的twMVC社群專家,以及專注測試領域的91,聯手為ASP.NET MVC 再添一本中文參考書。對照自身的ASP.NET MVC開發經驗,全書完整涵蓋使用Visual Studio開發ASP.NET MVC 所需的知識,從MVC 基本概念、開發環境操作技巧、設計細節到注意事項都有詳實闡述。除了ASP.NET MVC本身,對於新一代.NET語言的重要特色如LINQ、Lambda、Entity Framework、非同步呼叫等亦有所著墨,有利開發者活用新武器。至於資訊安全議題,在書中亦未缺席。藉機在此呼籲,如果你開發網站卻不知道XSS及SQL Injection,建議搞懂之前一行程式都別寫,以免禍國殃民。最後,除了善用設計模式強化架構,實現自動測試也是專業開發重要的一環。自動測試不只能確保軟體品質,更是進行程式重構與系統優化不可或缺的基石,為進階開發的必備技能,建議讀者在轉換MVC 時一併補齊。由近年微軟技術大會中ASP.NET MVC議題所佔比重,不難感受ASP.NET MVC將是未來ASP.NET開發的主流。或許讀者們手上的Web Forms系統仍需繼續維護運轉十幾年(望向手邊還活得好好的企業內部ASP 程式),但一定要密切掌握ASP.NET MVC的發展,提早學習做好準備,期盼大家早日加入ASP.NET MVC的行列,領略其架構之美。技術部落格 「黑暗執行緒」站長李明儒 Jeffrey
Chapter 1 MVC 概觀1.1 MVC 架構概觀1.2 ASP.NET MVC 概觀1.3 ASP.NET MVC5 開發環境1.4 NuGet 的使用1.5 IIS Express1.6 ASP.NET Web Forms 轉換至MVC 開發1.7 建立你的第一個MVC 網際網路應用程式1.8 結語Chapter 2 與資料的對話:Model 與ADO.NET2.1 Model 的概念2.2 ADO.NET2.3 泛型概念2.4 Model 的實作2.5 SQL Injection 2.6 結語Chapter 3 LINQ:驅動資料的查詢能力3.1 LINQ 概念3.2 LINQ 的基礎3.3 Lambda 運算式3.4 LINQ 陳述式3.5 LINQ 函式3.6 遠端查詢:IQueryable與IEnumerable 3.7 Expression 3.8 LINQ 與ADO .NET:DataSet/DataTable 的使用3.9 結語Chapter 4 Entity Framework4.1 ORM 概念4.2 Entity Framework 概觀4.3 Entity Framework 架構4.4 Database First4.5 Model First4.6 Code First4.7 透過DbContext 存取Entity Framework 資料模型4.8 更新資料庫:Database Migration4.9 結語Chapter 5 Routing5.1 URL Rewriting 與Route 基本概念5.2 URL Routing 基本應用5.3 加入一個自己定義的URL Routing5.4 URL Routing 如何比對?5.5 為 URL Routing 加上限制條件5.6 URL Routing 進階應用5.7 如何偵錯?5.8 Area5.9 結語Chapter 6 Controller6.1 瞭解Controller 角色6.2 Controller 與View 的資料傳遞6.3 Model Binding6.4 Metadata 與資料驗證6.5 ActionResult6.6 Action Filters6.7 其他Controller 技巧6.8 結語Chapter 7 Async Programming7.1 神奇的非同步基架產生器7.2 處理緒與執行緒7.3 同步與非同步程式設計7.4 Task 類別7.5 async 與await 關鍵字7.6 非同步與執行緒池7.7 結語Chapter 8 View:搖曳生姿的美人8.1 View 概觀8.2 View 於專案中的位置8.3 View 的類型8.4 View 獲得資料的多種方法8.5 View Engine 概觀8.6 Razor 語法8.7 Helpers8.8 View 開發技術的進階議題8.9 結語Chapter 9 Bootstrap9.1 Bootstrap 導覽9.2 客製化Bootstrap9.3 ASP.NET MVC 與Bootstrap 合壁9.4 結語Chapter 10 診斷及日誌處理10.1 前置處理器10.3 ELMAH10.4 NLog - Advanced .NET Logging10.5 ELMAH 與NLog 合體術10.6 結語Chapter 11 網站安全之道11.1 知己知彼11.2 加密與解密11.3 結語Chapter 12 身份驗證與授權12.1 使用Session 做身份驗證12.2 使用Cookie 做身份驗證12.3 使用Forms Authentication 做身份驗證12.4 全新的ASP.NET Identity 2.0 12.5 擴充會員欄位12.6 結語Chapter 13 ASP.NET Web API 2 概觀13.1 Web Service13.2 ASP.NET Web API 213.3 Model 與Web API 2 基架13.4 Entity Framework 循環參考13.5 JSON13.6 POSTMAN13.7 結語Chapter 14 自動測試完整攻略14.1 測試概念簡介14.2 測試程式設計技巧與工具介紹14.3 自動測試實戰演練:以重構計算運費為例14.4 總結Chapter 15 網站部署15.1 ASP.NET MVC RTM 的進化史15.2 部署到IIS15.3 部署到Microsoft Azure 雲端環境15.4 結語Chapter 16 CMS 範例實戰16.1 建立專案16.2 建立資料16.3 建立區域16.4 使用MetaData16.5 使用NuGet16.6 建立會員機制16.7 分頁套用16.8 結語Appendix A ASP.NET MVC 5.1 與5.2A.1 Visual Studio Update 需求A.2 語意化版本規範A.3 ASP.NET MVC 5.1A.4 ASP.NET MVC 5.2 Appendix B ASP.NET MVC 6 預覽Appendix C 關於MCSD:Web Applications
完整的範例程式碼
Visual C#與Xamarin跨平台行動App開發實戰--iOS/Android/Windows...more 精通Windows 8 Apps程式設計-使用C# and XAML
購買紙本書