会员   密码 您忘记密码了吗?
1,655,624 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

浏览历史

当前位置: 首页 > 简体书 > 領域驅動設計模式、原理與實踐
領域驅動設計模式、原理與實踐
上一张
下一张
prev next

領域驅動設計模式、原理與實踐

作者: (美)SCOTT MILLETT,NICK TUNE
出版社: 清華大學出版社
ISBN: 9787302428909
出版日期: 2016-02-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT599.00
市场价格: RM107.69
本店售价: RM95.84
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

分為四個部分。第Ⅰ部分主要是介紹DDD的思想體系、原則以及實踐。第Ⅱ部分詳細介紹集成有界上下文的戰術模式。第Ⅲ部分將介紹創建有效領域模型的戰略模式。第Ⅳ部分將深入介紹你可以應用的設計模式,以便利用領域模型和構建有效應用程序。


目錄

第1部分 領域驅動設計的原則與實踐
第1章什麼是領域驅動設計
1.1為復雜問題域創建軟件的挑戰
1.1.1未使用通用語言創建的代碼
1.1.2組織結構的缺乏
1.1.3泥球模式將扼殺開發
1.1.4缺乏對問題域的關注
1.2領域驅動設計模式如何管理復雜性
1.2.1DDD的戰略模式
1.2.2DDD的戰術模式
1.2.3問題空間與解空間
1.3領域驅動設計的實踐與原則
1.3.1專注於核心領域
1.3.2通過協作進行學習
1.3.3通過探索和實驗來創建模型
1.3.4通信
1.3.5理解模型的適用性
1.3.6讓模型持續發展
1.4領域驅動設計的常見誤區
1.4.1戰術模式是DDD的關鍵
1.4.2DDD是一套框架
1.4.3DDD是一顆靈丹妙藥
1.5要點
第2章提煉問題域
2.1知識提煉與協作
2.1.1通過通用語言達成共識
2.1.2領域知識的重要性
2.1.3業務分析員的角色
2.1.4一個持續過程
2.2與領域專家一起獲得領域見解
2.2.1領域專家與業務相關人員的對比
2.2.2對於業務的更深刻理解
2.2.3與你的領域專家互動
2.3有效提煉知識的模式
2.3.1專注在最有意思的對話上
2.3.2從用例開始
2.3.3提出有力的問題
2.3.4草圖
2.3.5CRC卡
2.3.6延遲對模型中概念的命名
2.3.7行為驅動開發
2.3.8快速成型
2.3.9查看基於紙面的系統
2.4查看現有模型
2.4.1理解意圖
2.4.2事件風暴
2.4.3影響地圖
2.4.4理解業務模型
2.4.5刻意發現
2.4.6模型探討漩渦
2.5要點
第3章專注於核心領域
3.1為何要分解一個問題域
3.2如何捕獲問題的實質
3.2.1超越需求
3.2.2為達成什麼是核心內容的共識而捕獲領域願景
3.3如何專注於核心問題
3.3.1提煉問題域
3.3.2核心領域
3.3.3將你的核心領域當作一款產品而非一個項目
3.3.4通用域
3.3.5支撐域
3.4子域如何決定解決方案的形成
3.5並非一個系統的所有部分都會經過良好設計
3.5.1專注於清晰邊界而非完美模型
3.5.2一開始核心領域不必總是需要是完美的
3.5.3構建用於替代而非重用的子域
3.6如果沒有核心領域怎麼辦
3.7要點
第4章模型驅動設計
4.1什麼是領域模型
4.1.1領域與領域模型的對比
4.1.2分析模型
4.1.3代碼模型
4.1.4代碼模型是領域模型的主要表現
4.2模型驅動設計
4.2.1預先設計的挑戰
4.2.2團隊建模
4.3使用通用語言將分析和代碼模型綁定在一起
4.3.1語言的生存周期將大於軟件
4.3.2業務語言
4.3.3開發人員和業務之間的轉譯
4.4基於通用語言進行協作
4.4.1通過使用具體示例來定制出語言
4.4.2教導你的領域專家專注在問題上而不要跳到解決方案
4.4.3塑造語言的最佳實踐
4.5如何創建有效的領域模型
4.5.1不要讓實情妨礙一個好模型
4.5.2僅對相關內容建模
4.5.3領域模型都是暫時有用的
4.5.4要十分清楚專業術語
4.5.5限制你的抽象
4.6何時應用模型驅動設計
4.6.1如果它不值得花費精力,則不要嘗試對其建模
4.6.2專注於核心領域
4.7要點
第5章領域模型實現模式
5.1領域層
5.2領域模型實現模式
5.2.1領域模型
5.2.2事務腳本
5.2.3表模塊
5.2.4活動記錄
5.2.5貧血領域模型
5.2.6貧血領域模型和函數編程
5.3要點
第6章使用有界上下文維護領域模型的完整性
6.1單個模型的挑戰
6.1.1模型的復雜性可能會增加
6.1.2多個團隊處理單個模型
6.1.3模型語言中的歧義
6.1.4領域概念的適用范圍
6.1.5集成遺留代碼或第三方代碼
6.1.6領域模型並非企業模型
6.2使用有界上下文划分和破除大模型
6.2.1定義模型的邊界
6.2.2子域和有界上下文之間的差異
6.3實現有界上下文
6.4要點
第7章上下文映射
7.1一個現實情況的映射
7.1.1技術的現實
7.1.2組織的現實
7.1.3映射一個相關現實情況
7.1.4用X標記核心領域的位置
7.2認識有界上下文之間的關系
7.2.1防止損壞層
7.2.2共享內核
7.2.3開放宿主服務
7.2.4分道揚鑣
7.2.5合作關系
7.2.6一種上游/下游關系
7.3傳遞上下文映射
7.4上下文映射的戰略重要性
7.4.1保持完整性
7.4.2解決計划的基礎
7.4.3理解所有權和職責
7.4.4揭示業務工作流中的混亂區域
7.4.5識別非技術障礙
7.4.6鼓勵良好的溝通
7.4.7幫助加入的新員工
7.5要點
第8章應用程序架構
8.1應用程序架構
8.1.1分離應用程序的問題
8.1.2從領域的復雜性中進行抽象
8.1.3分層架構
8.1.4依賴倒置
8.1.5領域層
8.1.6應用程序服務層
8.1.7基礎架構層
8.1.8跨層通信
8.1.9隔離測試
8.1.10不要在有界上下文之間共享數據結構
8.1.11應用程序架構與用於有界上下文的架構的對比
8.2應用程序服務
8.2.1應用程序邏輯與領域邏輯的對比
8.2.2定義和公開能力
8.2.3業務用例協作
8.2.4應用程序服務表示的是用例,而不是創建、讀取、更新和刪除
8.2.5作為實現詳情的領域層
8.2.6領域報告
8.2.7讀取模型與事務模型的對比
8.3應用程序客戶端
8.4要點
第9章團隊開始應用領域驅動設計通常會遭到的問題
9.1過分強調戰術模式的重要性
9.1.1將相同架構用於所有的有界上下文
9.1.2力求戰術模式盡善盡美
9.1.3錯誤估計構造塊對於DDD的價值
9.1.4專注於代碼而非DDD的原則
9.2缺失了DDD的真實價值:協作、通信和上下文
9.2.1由於低估上下文的重要性而產生大泥球
9.2.2未能成功創建UL將造成歧義和誤解
9.2.3由於缺乏協作將只能設計專注於技術的解決方案
9.3在不重要的部分花費太多時間
9.4簡單問題復雜化
9.4.1將DDD原則應用到具有少量業務預期的瑣碎領域
9.4.2別將CRUD作為反模式
9.4.3將領域模型模式用於每一個有界上下文
9.4.4問一問自己:額外的復雜性是否值得
9.5低估應用DDD的成本
9.5.1嘗試在沒有積極專注的團隊的情況下取得成功
9.5.2項目背后沒有領域專家時的協作嘗試
9.5.3在非迭代式開發方法中進行學習
9.5.4將DDD應用到每一個問題
9.5.5為不必要的純粹性而犧牲實用主義
9.5.6尋求驗證會浪費精力
9.5.7永遠力求代碼之美
9.5.8DDD關乎的是提供價值
9.6要點
第10章應用DDD的原則、實踐與模式
10.1推廣使用DDD
10.1.1培訓團隊
10.1.2與業務人員進行交流
10.2應用DDD的原則
10.2.1理解願景
10.2.2捕獲所需的行為
10.2.3理解環境的現實情況
10.2.4對解決方案建模
10.3探究和實驗
10.3.1質疑假設
10.3.2建模是一項持續性活動
10.3.3不存在錯誤的模型
10.3.4靈活的代碼有助於探索發現
10.4讓隱式內容變得顯式
10.4.1處理歧義
10.4.2為事物命名
10.5問題解決人先行,技術專家后行
10.6如何才能知道我在正確地工作
10.6.1好用就足夠了
10.6.2實踐、實踐、實踐
10.7要點

第Ⅱ部分 戰略模式:在有界上下文之間通信
第11章有界上下文集成介紹
11.1如何集成有界上下文
11.1.1有界上下文是獨立自主的
11.1.2在代碼層面集成有界上下文的挑戰
11.1.3使用物理邊界來強制實現整潔的模型
11.1.4集成遺留系統
11.2集成分布式有界上下文
11.2.1集成用於分布式有界上下文的策略
11.2.2數據庫集成
11.2.3平面文件集成
11.2.4RPC
11.2.5消息傳遞
11.2.6REST
11.3DDD使用分布式系統的挑戰
11.4分布式事務將損害可擴展性和可靠性
11.4.1有界上下文不必彼此保持一致
11.4.2最終一致性
11.5事件驅動響應式DDD
11.5.1展示響應式解決方案的彈性和可擴展性
11.5.2異步消息傳遞的挑戰和取舍
11.5.3RPC還有價值嗎
11.6SOA和響應式DDD
11.6.1將你的有界上下文視作SOA服務
11.6.2進一步處理微服務架構
11.7要點
第12章通過消息傳遞集成
12.1消息傳遞基礎
12.1.1消息總線
12.1.2可靠的消息傳遞
12.1.3存儲轉發
12.1.4命令和事件
12.1.5最終一致性
12.2使用NServiceBus構建一個電子商務應用程序
12.2.1系統設計
12.2.2從Web應用程序發送命令
12.2.3處理命令和發布事件
12.2.4使用消息傳遞網關讓外部HTTP調用變得可靠
12.2.5實踐中的最終一致性
12.2.6有界上下文會存儲其本地所需的所有數據
12.2.7把所有內容都放在UI中
12.3維護消息傳遞應用程序
12.3.1消息版本管理
12.3.2監控和擴展
12.4將有界上下文與公共傳輸集成
12.4.1消息傳遞橋
12.4.2公共傳輸
12.5要點
第13章通過使用RPC和REST的HTTP來集成
13.1為何選用HTTP
13.1.1沒有平台耦合
13.1.2每個人都理解HTTP
13.1.3大量的成熟工具和庫
13.1.4內部測試你的API
13.2RPC
13.2.1在HTTP上實現RPC
13.2.2選擇一種RPC風格
13.3REST
13.3.1深入淺出地解釋REST
13.3.2用於有界上下文集成的REST
13.3.3維護REST應用程序
13.3.4將REST用於有界上下文集成的缺點
13.4要點
……
第Ⅲ部分 戰術模式:創建有效的領域模型
第Ⅳ部分 有效應用程序的設計模式