| | | 實現領域驅動設計(博文視點出品) | 該商品所屬分類:圖書 -> 電子工業出版社 | 【市場價】 | 1412-2048元 | 【優惠價】 | 883-1280元 | 【作者】 | VaughnVernon滕雲 | 【所屬類別】 | 電子工業出版社 | 【出版社】 | 電子工業出版社 | 【ISBN】 | 9787121224485 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
![](/c49/99/13131498.jpg)
出版社:電子工業出版社 ISBN:9787121224485 版次:01 商品編碼:13131498 品牌:電子工業出版社 包裝:平裝 開本:16開 出版時間:2021-02-01 用紙:膠版紙 頁數:584 正文語種:中文 作者:Vaughn,Vernon,滕雲
" 內容簡介 本書分別從戰略和戰術層面詳盡地討論了如何實現DDD,其中包含了大量的最佳實踐、設計準則和對一些問題的折中性討論。全書共分為14章,在DDD戰略部分,本書向我們講解了領域、限界上下文、上下文映射圖和架構等內容,戰術部分包括實體、值對像、領域服務、領域事件、聚合和資源庫等內容。一個虛構的案例研究貫穿全書,這對於實例講解DDD實現來說非常有用。 作者簡介 Vaughn Vernon是一個經驗豐富的軟件工匠,在軟件設計、開發和架構方面擁有超過25年的從業經驗。 他提倡通過創新來簡化軟件的設計和實現。從20世紀80年代開始,他便開始使用面向對像語言進行編程;在90年代早期,他便在領域建模中應用了領域驅動設計,那時他使用的是Smalltalk語言。 他在全球範圍之內提供軟件咨詢和演講,此外,他還在許多國家教授《實現領域驅動設計》的課程。 滕雲,ThoughtWorks軟件工程師。當初抱著“非飛行器設計專業不讀”的理想加幻想考入西北工業大學,卻不料學起了汽車專業。在嘗盡了“從天上掉到地下”的滋味之後,又轉行躬耕於軟件開發。目前主要從事銀行、保險等領域的企業級軟件開發,感興趣的技術領域包括Java EE、Linux、領域驅動設計和構建自動化等。 目錄 目錄 序 ....................................................................................... xix 前言 ................................................................................... xxi 致謝 ................................................................................. xxxi 關於作者 ......................................................................... xxxv 如何使用本書..................................................................xxxvii 第1章 DDD入門 ....................................................................1 我能DDD嗎? ....................................................................................2 為什麼我們需要DDD .........................................................................5 如何DDD .......................................................................................... 17 使用DDD的業務價值 .......................................................................22 1.你獲得了一個非常有用的領域模型 ......................................22 2.你的業務得到了更準確的定義和理解 ..................................23 3.領域專家可以為軟件設計做出貢獻 ......................................23 4.更好的用戶體驗 .....................................................................23 5.清晰的模型邊界 ....................................................................24 6.更好的企業架構 ....................................................................24 7.敏捷、迭代式和持續建模 ......................................................24 8.使用戰略和戰術新工具 .........................................................24 實施DDD所面臨的挑戰...................................................................25 虛構的案例,真實的實踐 ................................................................. 33 本章小結 ...........................................................................................36 第2章 領域、子域和限界上下文 ............................................37 總覽 ................................................................................................... 37 工作中的子域和限界上下文 ..................................................... 38 將關注點放在核心域上 ........................................................... 42 戰略設計為什麼重要 ....................................................................... 45 現實世界中領域和子域 ....................................................................48 x 目錄 理解限界上下文 ................................................................................ 53 限界上下文不僅僅隻包含模型 ................................................. 57 限界上下文的大小 .................................................................... 59 與技術組件保持一致 ............................................................... 61 示例上下文........................................................................................ 62 協作上下文 ................................................................................63 身份與訪問上下文 ....................................................................69 敏捷項目管理上下文 ................................................................ 71 本章小結 ...........................................................................................73 第3章 上下文映射圖 ............................................................75 上下文映射圖為什麼重要 ................................................................ 75 繪制上下文映射圖 ....................................................................77 產品和組織關繫 .......................................................................79 映射3個示例限界上下文 ..........................................................82 本章小結 ...........................................................................................97 第4章 架構 .........................................................................99 采訪一個成功的CIO....................................................................... 100 分層 ................................................................................................. 104 依賴倒置原則 ......................................................................... 107 六邊形架構(端口與適配器) ........................................................ 110 面向服務架構 ..................................................................................114 REST ................................................................................................117 REST作為一種架構風格 .........................................................117 RESTful HTTP服務器的關鍵方面 ........................................ 118 RESTful HTTP客戶端的關鍵方面 ........................................ 119 REST和DDD .......................................................................... 120 為什麼是REST? ................................................................... 121 命令和查詢職責分離――CQRS.................................................... 121 CQRS的各個方面 ................................................................... 123 處理具有最終一致性的查詢模型 ......................................... 128 事件驅動架構 ................................................................................. 129 目錄xi 管道和過濾器 ......................................................................... 131 長時處理過程(也叫Saga) ................................................... 134 事件源 ..................................................................................... 140 數據網織和基於網格的分布式計算 .............................................. 143 數據復制 ................................................................................. 144 事件驅動網織和領域事件 ..................................................... 145 持續查詢 ................................................................................. 145 分布式處理 ............................................................................. 146 本章小結 ......................................................................................... 148 第5章 實體 ........................................................................ 149 為什麼使用實體 .............................................................................. 149 唯一標識 ......................................................................................... 151 用戶提供唯一標識 ................................................................. 152 應用程序生成唯一標識 ......................................................... 153 持久化機制生成唯一標識 ...................................................... 156 另一個限界上下文提供唯一標識 .......................................... 160 標識生成時間 ......................................................................... 161 委派標識 ................................................................................. 163 標識穩定性 ............................................................................. 165 發現實體及其本質特征 .................................................................. 167 揭開實體及其本質特征的神秘面紗 ...................................... 168 挖掘實體的關鍵行為 ............................................................. 172 角色和職責 ............................................................................. 176 創建實體 ................................................................................. 181 驗證 ......................................................................................... 183 跟蹤變化 ................................................................................. 192 本章小結 ......................................................................................... 192 第6章 值對像 .................................................................... 193 值對像的特征 ................................................................................. 194 度量或描述 ............................................................................. 195 不變性 ..................................................................................... 195 xii 目錄 概念整體 ................................................................................. 196 可替換性 ................................................................................. 199 值對像相等性 .........................................................................200 無副作用行為 ......................................................................... 201 最小化集成 .....................................................................................204 用值對像表示標準類型 .................................................................206 測試值對像 ..................................................................................... 210 實現 ................................................................................................. 214 持久化值對像 ................................................................................. 219 拒絕由數據建模洩漏帶來的不利影響 ..................................220 ORM與單個值對像 ................................................................ 221 多個值對像序列化到單個列中 ..............................................224 使用數據庫實體保存多個值對像 ..........................................225 使用聯合表保存多個值對像 .................................................229 ORM與枚舉狀態對像 ............................................................230 本章小結 ......................................................................................... 233 第7章 領域服務 ................................................................235 什麼是領域服務(首先,什麼不是領域服務) .............................. 237 請確定你是否需要一個領域服務 .................................................. 238 建模領域服務 ................................................................................. 241 獨立接口有必要嗎 ..................................................................244 一個計算過程 .........................................................................246 轉換服務 .................................................................................249 為領域服務創建一個迷你層 .................................................250 測試領域服務 .................................................................................250 本章小結 ......................................................................................... 253 第8章 領域事件 ................................................................255 何時/為什麼使用領域事件 ............................................................. 255 建模領域事件 ................................................................................. 258 創建具有聚合特征的領域事件 ............................................. 263 身份標識 .................................................................................264 目錄xiii 從領域模型中發布領域事件 .......................................................... 265 發送方 ..................................................................................... 265 訂閱方 .....................................................................................269 向遠程限界上下文發布領域事件 .................................................. 271 消息設施的一致性 ................................................................. 271 自治服務和繫統 ...................................................................... 272 容許時延 ................................................................................. 273 事件存儲 ......................................................................................... 274 轉發存儲事件的架構風格 .............................................................. 279 以REST資源的方式發布事件通知 ........................................ 279 通過消息中間件發布事件通知 .............................................. 283 實現 .................................................................................................284 發布NotificationLog ............................................................... 285 發布基於消息的事件通知 ......................................................290 本章小結 .........................................................................................297 第9章 模塊 .......................................................................299 通過模塊完成設計 .........................................................................299 模塊的基本命名規範 .....................................................................302 領域模型的命名規範 .....................................................................302 敏捷項目管理上下文中的模塊 ......................................................305 其他層中的模塊 .............................................................................308 先考慮模塊,再是限界上下文 ........................................................309 本章小結 ......................................................................................... 310 第10章 聚合 ...................................................................... 311 在Scrum核心領域中使用聚合 ....................................................... 312 第一次嘗試:臃腫的聚合 ....................................................... 313 第二次嘗試:多個聚合 ........................................................... 314 原則:在一致性邊界之內建模真正的不變條件 .............................317 原則:設計小聚合 ........................................................................... 319 不要相信每一個用例 ............................................................. 321 原則:通過唯一標識引用其他聚合 ............................................... 322 xiv 目錄 通過標識引用使多個聚合協同工作 ...................................... 324 建模對像導航性 ..................................................................... 325 可伸縮性和分布式 ................................................................. 326 原則:在邊界之外使用最終一致性 ............................................... 327 誰的任務? ............................................................................. 328 打破原則的理由 ............................................................................. 329 理由之一:方便用戶界面 ........................................................ 329 理由之二:缺乏技術機制 ....................................................... 330 理由之三:全局事務 ............................................................... 331 理由之四:查詢性能 ............................................................... 331 遵循原則 ................................................................................. 332 通過發現,深入理解 ...................................................................... 332 重新思考設計 ......................................................................... 332 估算聚合成本 ......................................................................... 334 常見用例場景 ......................................................................... 335 內存消耗 ................................................................................. 336 探索另外的設計 ..................................................................... 337 實現最終一致性 ..................................................................... 338 這是Scrum團隊成員的任務嗎? ........................................... 339 決定的時候到了 ..................................................................... 341 實現 ................................................................................................. 341 創建具有唯一標識的根實體.................................................. 342 優先使用值對像 ..................................................................... 343 使用迪米特法則和“告訴而非詢問”原則 .............................344 樂觀並發 .................................................................................346 避免依賴注入 .........................................................................348 本章小結 ......................................................................................... 349 第11章 工廠 ...................................................................... 351 領域模型中的工廠 ......................................................................... 351 聚合根中的工廠方法 ...................................................................... 352 創建CalendarEntry實例 ......................................................... 353 創建Discussion實例 ............................................................... 357 目錄xv 領域服務中的工廠 ......................................................................... 358 本章小結 ......................................................................................... 361 第12章 資源庫 ..................................................................363 面向集合資源庫 .............................................................................364 Hibernate實現 ......................................................................... 369 TopLink實現 ........................................................................... 377 面向持久化資源庫 .......................................................................... 379 Coherence實現 ....................................................................... 381 MongoDB實現 ........................................................................ 386 額外的行為 ..................................................................................... 391 管理事務 ......................................................................................... 393 警告 ......................................................................................... 397 類型層級 ......................................................................................... 397 資源庫 vs 數據訪問對像(DAO) .................................................400 測試資源庫 ..................................................................................... 401 以內存實現進行測試 .............................................................404 本章小結 .........................................................................................407 第13章 集成限界上下文 .....................................................409 集成基礎知識 .................................................................................409 分布式繫統之間存在根本性區別 ...........................................411 跨繫統邊界交換信息 ..............................................................411 通過REST資源集成限界上下文 .................................................... 417 實現REST資源 ....................................................................... 418 使用防腐層實現REST客戶端 ................................................ 421 通過消息集成限界上下文 .............................................................. 428 從Scrum的產品負責人和團隊成員處得到持續通知 .................... 428 你能處理這樣的職責嗎? ..................................................... 434 長時處理過程,以及避免職責 ............................................... 439 長時處理過程的狀態機和超時跟蹤器 .................................. 450 設計一個更復雜的長時處理過程 ..........................................460 xvi 目錄 當消息機制或你的繫統不可用時 ...........................................464 本章小結 .........................................................................................465 第14章 應用程序 ...............................................................467 用戶界面 .........................................................................................469 渲染領域對像 ......................................................................... 470 渲染數據傳輸對像 ................................................................. 471 使用調停者發布聚合的內部狀態 .......................................... 471 通過領域負載對像渲染聚合實例 .......................................... 472 聚合實例的狀態展現.............................................................. 473 用例優化資源庫查詢 .............................................................. 474 處理不同類型的客戶端 .......................................................... 474 渲染適配器以及處理用戶編輯 .............................................. 475 應用服務 ......................................................................................... 478 示例應用服務 ......................................................................... 478 解耦服務輸出 .........................................................................485 組合多個限界上下文 ......................................................................487 基礎設施 .........................................................................................489 企業組件容器 .................................................................................490 本章小結 .........................................................................................494 附錄A 聚合與事件源:A+ES ..............................................495 應用服務內部 ................................................................................. 496 命令處理器 .....................................................................................505 Lambda語法....................................................................................508 並發控制 ......................................................................................... 510 A+ES所帶來的結構自由性 ............................................................. 513 性能 ................................................................................................. 513 實現事件存儲 ................................................................................. 516 關繫型持久化 ................................................................................. 520 BLOB持久化 .................................................................................. 522 專注的聚合 ..................................................................................... 523 讀模型投射 ..................................................................................... 524 目錄xvii 與聚合設計一道使用 ..................................................................... 527 增強事件 ......................................................................................... 527 工具和模式 ..................................................................................... 529 事件序列器 ............................................................................. 530 事件不變性 ............................................................................. 531 值對像 ..................................................................................... 531 協議生成 ......................................................................................... 534 事件源和函數式語言 ..................................................................... 536 參考文獻 ...........................................................................539 查看全部↓
" | | | | | |