作 者:[意]迪諾·埃斯波西托Dino Esposito) 著 李永倫 譯
定 價:79
出 版 社:人民郵電出版社
出版日期:2019年03月01日
頁 數:324
裝 幀:簡裝
ISBN:9787115497451
結合DDD方法及現代UX設計方法,講述一種實用的、問題驅動的、關注用戶的方法引導讀者掌握Web架構、Web設計和Web用戶體驗的有效新方法幫助讀者有效運用“用戶體驗優先”的現代設計方法
●第 一部分 理解業務領域第 1章 實施全面的領域分析 31.1 領域驅動設計前來解困 31.1.1 領域驅動設計 31.1.2 消除DDD的常見誤解 41.2 通用語言 51.2.1 創建領域特定術語的詞彙表 51.2.2 使業務和代碼保持同步 71.3 限界上下文 81.3.1 發現限界上下文 81.3.2 實現限界上下文 91.4 上下文映射 111.5 事件風暴 121.5.1 擁有無盡的建模空間 131.5.2 找出領域中的事件 131.5.3 引導討論 131.6 小結 13第 2章 選擇支撐架構 152.1 關於業務邏輯的一切 152.1.1 研究應用程序邏輯 152.1.2 研究領域邏輯 162.1.3 探究業務邏輯的模式 172.2 使用單個模型 192.2.1 探究面向對像領域素 192.2.2 把業務規則放進去 202.2.3 發現聚合 222.2.4 探究領域服務的角色 232.3 實現命令查詢分離 252.3.1 應用命令查詢分離原則 262.3.2 實現CQRS 282.4 基於消息的方案 302.4.1 專屬基礎設施 302.4.2 介紹事件溯源 332.5 小結 35第3章 用戶體驗驅動設計 363.1 為什麼自上而下方案比自下而上方案更優 363.1.1 自下而上方案的基礎 373.1.2 規劃自上而下方案 393.2 從架構的角度來看用戶體驗 403.2.1 用戶體驗不是用戶界面 403.2.2 三步解釋用戶體驗驅動設計 423.3 為什麼用戶體驗驅動設計幾乎有利於每個人 463.4 小結 47第4章 Web解決方案的架構選項 494.1 評估可用的Web解決方案 494.1.1 決定很好框架 494.1.2 規劃解決方案 504.2 研究ASP.NET Core 1.0的角色 514.2.1 把ASP.NET看作起點 514.2.2 研究ASP.NET Core 1.0裡的架構依賴 524.2.3 探究選擇ASP.NET Core 1.0的原因 534.3 決定是否應該使用ASP.NET Web Forms 554.3.1 研究一個常見的場景 554.3.2 ASP.NET Web Forms初探 554.3.3 Web Forms仍有好的一面 564.3.4 為什麼應該遠離Web Forms 564.4 決定是否應該使用ASP.NET MVC 574.4.1 ASP.NET MVC初探 584.4.2 ASP.NET MVC的優點 584.4.3 ASP.NET MVC的弱點 594.5 研究ASP.NET Web API的角色 594.5.1 WCF轉到Web API 604.5.2 比較ASP.NET Web API和ASP.NET MVC 604.5.3 聊聊REST 624.5.4 在ASP.NET Core 1.0裡使用Web API 624.6 單頁應用程序 634.6.1 構建SPA 644.6.2 混合SPA 644.6.3 SPA的弱點 644.7 小結 65第5章 分層架構 665.1 超越經典的三層繫統 665.1.1 目前使用的三層架構 675.1.2 灰色地帶 675.2 表現層 685.2.1 用戶體驗 685.2.2 輸入模型 695.2.3 視圖模型 695.3 應用程序層 705.3.1 繫統後端的入口點 705.3.2 業務流程的編排 715.4 領域層 715.4.1 神秘的領域模型 725.4.2 同樣神秘的領域服務概念 725.4.3 更務實的領域建模觀點 735.5 基礎設施層 735.5.1 當前狀態存儲 735.5.2 事件存儲 745.5.3 緩存層 755.5.4 外部服務 755.6 小結 75第二部分 實現常見功能第6章 ASP.NET的現狀 796.1 Web的風格 796.1.1 Web原本可以不同 796.1.2 經典Web是贏家 806.2 ASP.NET是功能完整的 806.2.1 不必添加更多功能 816.2.2 它的潛能得到充分挖掘,還是說這個軟件已遭廢棄 816.3 ASP.NET Core 1.0沒有新的功能 816.3.1 這是關於新的運行時 826.3.2 這是關於業務模型 826.3.3 這是關於開發模型 826.4 ASP.NET的現狀是什麼 82第7章 ASP.NET Core 1.0的來龍去脈及技術細節 847.1 ASP.NET Core的背景 847.1.1 大內存占用的代價 857.1.2 把雲重新看作殺手锏 857.1.3 不同的編程模型的必要性 857.1.4 日常工作的影響 867.2 ASP.NET Core運行時概覽 867.2.1 DNX托管環境 877.2.2 在DNX中托管Web應用程序 887.2.3 ASP.NET Core HTTP通道 897.3 ASP.NET開發者的ASP.NET Core使用指南 907.3.1 創建一個新的項目 917.3.2 應用程序啟動 947.3.3 應用程序設置 967.3.4 驗證 987.3.5 Web編程的其他方面 997.4 小結 101第8章 ASP.NET MVC的精髓 1038.1 路由傳入請求 1038.1.1 模擬ASP.NET MVC運行時 1048.1.2 探索URL路由HTTP模塊 1068.1.3 使用應用程序路由 1078.2 探索控制器類 1138.2.1 了解控制器的各個方面 1138.2.2 編寫控制器類 1158.3 處理輸入數據 1198.3.1 手動參數綁定 1198.3.2 模型綁定 1208.4 產生操作結果 1248.4.1 包裝結果 1248.4.2 返回HTML標記內容 1268.4.3 返回JSON內容 1328.5 小結 133第9章 Bootstrap的精髓 1359.1 Bootstrap概覽 1359.1.1 LESS和Bootstrap基礎 1359.1.2 設置Bootstrap 1389.1.3 透析Bootstrap 1389.2 反應式布局 1399.2.1 網格繫統 1399.2.2 基於屏幕大小的渲染 1419.3 現今素的分類體繫 1459.3.1 重塑基本H素的樣式 1459.3.2 重塑列表H素的樣式 1539.3.3 了解更高級的組件 1559.4 Bootstrap擴展 1619.4.1 自動完成 1619.4.2 日期選擇 1669.4.3 自定義組件 1689.5 小結 172第 10章 ASP.NET MVC項目的組織方式 17310.1 規劃項目解決方案 17310.1.1 把項目映射到分層架構模式 17310.1.2 應用程序啟動 17510.1.3 研究應用程序服務 17910.1.4 加入其他資產 18110.1.5 創建表現布局 18210.2 更有效地提供資源 18410.2.1 打包 18510.2.2 使用簡化 18910.3 研究其他方面 19010.3.1 研究錯誤處理 19010.3.2 配置用戶驗證 19310.4 小結 197第 11章 展示數據 19811.1 組織HTML視圖 19811.1.1 探索視圖模型 19811.1.2 研究頁面布局 20111.1.3 展素 20411.2 顯示一組數據項 20711.2.1 創建網格視圖 20811.2.2 添加頁面功能 21211.2.3 素添加滾動功能 21611.3 添加詳細視圖 21911.3.1 彈框視圖 22011.3.2 向下追溯視圖 22211.4 小結 224第 12章 編輯數據 22512.1 用於登錄頁面的通用表單 22512.1.1 展示表單 22512.1.2 處理提交數據 22712.2 輸入表單 22912.2.1 t-Redirect-Get模式 22912.2.2 表單驗證 23112.2.3 模態輸入表單 23912.3 改善用戶體驗的小竅門 24712.3.1 使用日期選擇器是挺好的,但…… 24712.3.2 使用自動完成而不是冗長的下拉列表 24912.3.3 大型輸入表單的其他建議 25112.4 小結 252第 13章 持久化和建模 25313.1 研究不同類型的模型 25313.1.1 持久化模型 25313.1.2 領域模型 25413.1.3 輸入模型 25613.1.4 視圖模型 25613.2 設計持久層 25713.2.1 使用隱式的遺留數據模型 25813.2.2 使用Entity Framework 25913.2.3 倉庫模式 26213.3 多樣化持久化 26413.3.1 多樣化持久化的例子 26413.3.2 多樣化持久化的代價 26513.4 小結 267第三部分 分析用戶體驗第 14章 創建更具交互性的視圖 27114.1 暴露JSON內容 27114.1.1 創建JSON端點 27214.1.2 協商內容 27414.1.3 解決跨源問題 27514.2 設計Web API 27914.2.1 ASP.NET Web API的目的 27914.2.2 在ASP.NET MVC環境中的Web API 27914.2.3 保護獨立的Web API 28014.3 拉取內容 28214.3.1 Ajax核心 28214.3.2 jQuery工具 28514.3.3 把數據綁到當前DOM 28714.4 把內容推到客戶端 29014.4.1 ASP.NET SignalR初探 29014.4.2 監視遠程任務 29114.4.3 ASP.NET SignalR的其他場景 29414.5 小結 296第 15章 反應式設計的優缺點 29715.1 反應式Web設計的基礎 29715.1.1 RWD簡史 29715.1.2 CSS媒體查詢 29815.1.3 RWD和設備獨立性 30215.2 使RWD適配非桌面設備 30315.2.1 處理圖像 30415.2.2 處理字體 30615.2.3 處理朝向 30715.3 小結 308第 16章 讓網站對移動友好 30916.1 讓視圖適配實際設備 30916.1.1 移動場景的HTML5 30916.1.2 特性檢測 31216.1.3 客戶端設備檢測 31316.1.4 展望未來 31616.2 設備友好的圖像 31616.2.1 ImageEngine平臺 31616.2.2 自動調整圖像大小 31716.3 提供設備友好的視圖 31816.3.1 提供移動內容的很好方式是什麼 31816.3.2 服務器端檢測 31916.4 小結 324
本書通過介紹一種實用的、問題驅動的,關注用戶的方法,介紹了規劃、設計和構建動態的Web強有力的方法,給出了目前進行Web開發的一套有效解決方案。本書引導讀者選擇和實現特定的技術,闡釋了重要的用戶體驗主題,並探討了對移動友好的技術和反應式設計技術等內容。除此之外,本書還介紹了ASP.NET MVC、SignalR、Bootstrap、AJAX、JSON和JQuery等技術的相關內容。通過閱讀本書,讀者將學到如何從DDD方法以及現代的UX設計方法中獲益,進而能夠快速構建出解決當前問題並且有出色用戶體驗的Web解決方案。
[意]迪諾·埃斯波西托Dino Esposito) 著 李永倫 譯
迪諾·埃斯波西托(Dino Esposito)是Crionet(一家為歐洲各地體育賽事提供Web移動解決方案的公司)的CTO和聯合創始人。他長期從事培訓和顧問工作,曾11次榮獲微軟MVP殊榮,並著有《Microsoft. NET企業級應用架構設計(第2版)》和《企業級移動方案架構設計》。他還經常在行業活動中發表演講,其中包括Microsoft TechEd以及SDD、BASTA和Devweek等歐洲活動。
DELICACYCONTENTS
PREFACE