注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡操作系統(tǒng)實現(xiàn)領域驅(qū)動設計

實現(xiàn)領域驅(qū)動設計

實現(xiàn)領域驅(qū)動設計

定 價:¥99.00

作 者: (美) Vaughn Vernon(沃恩·弗農(nóng)) 著 滕云 譯
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 操作系統(tǒng) 計算機與互聯(lián)網(wǎng)

ISBN: 9787121224485 出版時間: 2014-03-01 包裝: 平裝
開本: 16開 頁數(shù): 584 字數(shù):  

內(nèi)容簡介

  領域驅(qū)動設計(DDD)是教我們?nèi)绾巫龊密浖?,同時也是教我們?nèi)绾胃玫厥褂妹嫦驅(qū)ο蠹夹g的。它為我們提供了設計軟件的全新視角,同時也給開發(fā)者留下了一大難題:如何將領域驅(qū)動設計付諸實踐?Vaughn Vernon 的這本《實現(xiàn)領域驅(qū)動設計》為我們給出了全面的解答?!秾崿F(xiàn)領域驅(qū)動設計》分別從戰(zhàn)略和戰(zhàn)術層面詳盡地討論了如何實現(xiàn)DDD,其中包含了大量的最佳實踐、設計準則和對一些問題的折中性討論?!秾崿F(xiàn)領域驅(qū)動設計》共分為14 章,在DDD 戰(zhàn)略部分,《實現(xiàn)領域驅(qū)動設計》向我們講解了領域、限界上下文、上下文映射圖和架構等內(nèi)容,戰(zhàn)術部分包括實體、值對象、領域服務、領域事件、聚合和資源庫等內(nèi)容。一個虛構的案例研究貫穿全書,這對于實例講解DDD 實現(xiàn)來說非常有用?!秾崿F(xiàn)領域驅(qū)動設計》在DDD 的思想和實現(xiàn)之間建立起了一座橋梁,架構師和程序員均可閱讀,同時也可以作為一本DDD 參考書。

作者簡介

  Vaughn Vernon,一個經(jīng)驗豐富的軟件工匠,在軟件設計、開發(fā)和架構方面擁有超過25年的從業(yè)經(jīng)驗。他提倡通過創(chuàng)新來簡化軟件的設計和實現(xiàn)。從20世紀80年代開始,他便開始使用面向?qū)ο笳Z言進行編程;在 20世紀 90年代早期,他便在領域建模中應用了領域驅(qū)動設計,那時他使用的是Smalltalk語言。他在很多業(yè)務領域都有從業(yè)經(jīng)驗,包括航空、環(huán)境、地理、保險、醫(yī)學和電信等領域。同時,Vaughn在技術上也取得了很大的成功,包括開發(fā)可重用的框架和類庫等。他在全球范圍之內(nèi)提供軟件咨詢和演講,此外,他還在許多國家教授《實現(xiàn)領域驅(qū)動設計》的課程。

圖書目錄

前言
致謝
關于作者
如何使用本書
第1章 DDD入門
我能DDD嗎?
為什么我們需要DDD
如何DDD
使用DDD的業(yè)務價值
1.你獲得了一個非常有用的領域模型
2.你的業(yè)務得到了更準確的定義和理解
3.領域?qū)<铱梢詾檐浖O計做出貢獻
4.更好的用戶體驗
5.清晰的模型邊界
6.更好的企業(yè)架構
7.敏捷、迭代式和持續(xù)建模
8.使用戰(zhàn)略和戰(zhàn)術新工具
實施DDD所面臨的挑戰(zhàn)
虛構的案例,真實的實踐
本章小結(jié)
第2章 領域、子域和限界上下文
總覽
工作中的子域和限界上下文
將關注點放在核心域上
戰(zhàn)略設計為什么重要
現(xiàn)實世界中領域和子域
理解限界上下文
限界上下文不僅僅只包含模型
限界上下文的大小
與技術組件保持一致
示例上下文
協(xié)作上下文
身份與訪問上下文
敏捷項目管理上下文
本章小結(jié)
第3章 上下文映射圖
上下文映射圖為什么重要
繪制上下文映射圖
產(chǎn)品和組織關系
映射3個示例限界上下文
本章小結(jié)
第4章 架構
采訪一個成功的CIO
分層
依賴倒置原則
六邊形架構(端口與適配器)
面向服務架構
REST
REST作為一種架構風格
RESTful HTTP服務器的關鍵方面 
RESTful HTTP客戶端的關鍵方面 
REST和DDD
為什么是REST?
命令和查詢職責分離——CQRS
CQRS的各個方面
處理具有最終一致性的查詢模型
事件驅(qū)動架構
管道和過濾器
長時處理過程(也叫Saga)
事件源
數(shù)據(jù)網(wǎng)織和基于網(wǎng)格的分布式計算
數(shù)據(jù)復制
事件驅(qū)動網(wǎng)織和領域事件
持續(xù)查詢
分布式處理
本章小結(jié)
第5章 實體
為什么使用實體
唯一標識
用戶提供唯一標識
應用程序生成唯一標識
持久化機制生成唯一標識
另一個限界上下文提供唯一標識
標識生成時間
委派標識
標識穩(wěn)定性
發(fā)現(xiàn)實體及其本質(zhì)特征
揭開實體及其本質(zhì)特征的神秘面紗
挖掘?qū)嶓w的關鍵行為
角色和職責
創(chuàng)建實體
驗證
跟蹤變化
本章小結(jié)
第6章 值對象
值對象的特征
度量或描述
不變性
概念整體
可替換性
值對象相等性
無副作用行為
最小化集成
用值對象表示標準類型
測試值對象
實現(xiàn)
持久化值對象
拒絕由數(shù)據(jù)建模泄漏帶來的不利影響
ORM與單個值對象
多個值對象序列化到單個列中
使用數(shù)據(jù)庫實體保存多個值對象
使用聯(lián)合表保存多個值對象
ORM與枚舉狀態(tài)對象
本章小結(jié)
第7章 領域服務
什么是領域服務(首先,什么不是領域服務)
請確定你是否需要一個領域服務
建模領域服務
獨立接口有必要嗎
一個計算過程
轉(zhuǎn)換服務
為領域服務創(chuàng)建一個迷你層
測試領域服務
本章小
第8章 領域事件
何時/為什么使用領域事件
建模領域事件
創(chuàng)建具有聚合特征的領域事件
身份標識
從領域模型中發(fā)布領域事件
發(fā)送方
訂閱方
向遠程限界上下文發(fā)布領域事件
消息設施的一致性
自治服務和系統(tǒng)
容許時延
事件存儲
轉(zhuǎn)發(fā)存儲事件的架構風格
以REST資源的方式發(fā)布事件通知
通過消息中間件發(fā)布事件通知
實現(xiàn)
發(fā)布NotificationLog
發(fā)布基于消息的事件通知
本章小結(jié)
第9章 模塊
通過模塊完成設計
模塊的基本命名規(guī)范
領域模型的命名規(guī)范
敏捷項目管理上下文中的模塊
其他層中的模塊
先考慮模塊,再是限界上下文
本章小結(jié)
第10章 聚合
在Scrum核心領域中使用聚合
第一次嘗試:臃腫的聚合
第二次嘗試:多個聚合
原則:在一致性邊界之內(nèi)建模真正的不變條件
原則:設計小聚合
不要相信每一個用例
原則:通過唯一標識引用其他聚合.
通過標識引用使多個聚合協(xié)同工作
建模對象導航性
可伸縮性和分布式
原則:在邊界之外使用最終一致性.
誰的任務?
打破原則的理由
理由之一:方便用戶界面
理由之二:缺乏技術機制
理由之三:全局事務
理由之四:查詢性能
遵循原則
通過發(fā)現(xiàn),深入理解
重新思考設計
估算聚合成本
常見用例場景
內(nèi)存消耗
探索另外的設計
實現(xiàn)最終一致性
這是Scrum團隊成員的任務嗎?
決定的時候到了
實現(xiàn)
創(chuàng)建具有唯一標識的根實體
優(yōu)先使用值對象
使用迪米特法則和“告訴而非詢問”原則 
樂觀并發(fā)
避免依賴注入
本章小結(jié)
第11章 工廠
領域模型中的工廠
聚合根中的工廠方法
創(chuàng)建CalendarEntry實例
創(chuàng)建Discussion實例
領域服務中的工廠
本章小結(jié)
第12章 資源庫
面向集合資源庫
Hibernate實現(xiàn)
TopLink實現(xiàn)
面向持久化資源庫
Coherence實現(xiàn)
MongoDB實現(xiàn)
額外的行為
管理事務
警告
類型層級
資源庫 vs 數(shù)據(jù)訪問對象(DAO)
測試資源庫
以內(nèi)存實現(xiàn)進行測試
本章小結(jié)
第13章 集成限界上下文
集成基礎知識
分布式系統(tǒng)之間存在根本性區(qū)別
跨系統(tǒng)邊界交換信息
通過REST資源集成限界上下文
實現(xiàn)REST資源
使用防腐層實現(xiàn)REST客戶端
通過消息集成限界上下文
從Scrum的產(chǎn)品負責人和團隊成員處得到持續(xù)通知 
你能處理這樣的職責嗎?
長時處理過程,以及避免職責
長時處理過程的狀態(tài)機和超時跟蹤器
設計一個更復雜的長時處理過程 
當消息機制或你的系統(tǒng)不可用時 
本章小結(jié)
第14章 應用程序
用戶界面
渲染領域?qū)ο?br />渲染數(shù)據(jù)傳輸對象
使用調(diào)停者發(fā)布聚合的內(nèi)部狀態(tài) 
通過領域負載對象渲染聚合實例 
聚合實例的狀態(tài)展現(xiàn)
用例優(yōu)化資源庫查詢
處理不同類型的客戶端
渲染適配器以及處理用戶編輯
應用服務
示例應用服務 
解耦服務輸出 
組合多個限界上下文
基礎設施
企業(yè)組件容器 
本章小結(jié) 
附錄A 聚合與事件源:A+ES 
應用服務內(nèi)部 
命令處理器 
Lambda語法
并發(fā)控制 
A+ES所帶來的結(jié)構自由性
性能 
實現(xiàn)事件存儲 
關系型持久化 
BLOB持久化 
專注的聚合
讀模型投射 
與聚合設計一道使用 
增強事件
工具和模式
事件序列器
事件不變性
值對象 
協(xié)議生成 
單元測試和需求規(guī)范 
事件源和函數(shù)式語言
參考文獻

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號