商品編號:DJAA2V-A900HHDM5
實戰領域驅動設計:高效軟體開發的正確觀點、應用策略與實作指引
驚喜優惠
折扣價
$869
網路價
$1,011
- P幣
全盈+PAY 單筆消費滿$1,200元贈80P幣(限量)
- 登記送
【全家】單筆滿$350純取貨/取貨付款訂單登記送法式千層蛋糕兌換券乙張(限量)
- 登記送
【7-11】單筆滿$350純取貨/取貨付款訂單登記送韓風拌拌炸雞兌換券乙張(限量)
付款方式
- 信用卡、無卡分期、行動支付,與其他多種方式
- PChome 聯名卡最高6%,新戶再享首刷禮1000P
出貨
配送
宅配滿$490免運,超取滿$350免運
- 宅配到府(本島/低溫)滿$699免運
- 宅配到府(本島/常溫)滿$490免運
- 超商取貨(常溫)滿$350免運
- 超商取貨(低溫)滿$699免運
- i郵箱(常溫)滿$290免運
銀行卡、行動支付
優惠總覽
商品詳情
作者: | |
譯者: | 錢亞宏 |
ISBN: | 9786263338159 |
出版社: | |
出版日期: | 2024/05/31 |
內文簡介
- <內容簡介>
領域驅動設計之父 Eric Evans 親推的必看專書!
「搞笑談軟工」板主 Teddy 專文推薦
關於 [名家名著] 30
領域驅動設計(DDD)是一種軟體開發方法,只要實作得當,可以幫助開發人員設計出高品質的軟體模型,明確地反映出預期業務目標。然而能不能成功實作 DDD,卻是許多 DDD 開發人員所遭遇到的共同難題,對於新接觸 DDD 的人來說更是困難重重。作者 Vaughn Vernon 以一種獨到的方式將 DDD 中的抽象概念統整起來,並做出規範,而這些指導原則,正是實作 DDD 的最佳指引。作者用搭飛機來比喻接觸 DDD 的心情,將 Eric Evans 的《領域驅動設計: 軟體核心複雜度的解決方法》比喻為「從高處俯瞰的視角與寬廣的視野」,而本書則像是一張地圖,其作用是「帶領各位讀者緩緩降落、停穩飛機,走一條熟悉的路線安全到家」。
《實戰領域驅動設計》以由上而下的方式說明 DDD,將戰略模式與基礎的戰術程式設計工具自然地結合起來。Vaughn Vernon 示範了如何在現代軟體架構中實作 DDD,強調業務領域概念的重要性與價值之同時,又不失技術層面上的務實考量。
本書是基於 Eric Evans 的開創性著作《領域驅動設計》一書而來,作者透過我們都熟知的業務領域範例講解如何實作 DDD。所有的原則都搭配真實的 Java 程式範例,對於 C# 程式語言的開發人員也同樣適用,所有的範例內容都來自於一個設想案例:基於一個假想的大型 SaaS 多租戶 Scrum 協作系統的開發案例研究。
本書作者將帶領讀者跨越「DDD-Lite」的侷限,不僅僅是將DDD作為一套技術工具運用,而是透過 Bounded Context、情境地圖、通用語言,充分運用 DDD 的「戰略設計模式」。而透過書中的技術與範例,可以加速軟體開發、提高品質,讓軟體更具靈活性與可擴展性,同時緊密地與業務目標保持一致。
【本書精彩內容】
☑ 以正確的方法踏入 DDD 的世界,就能快速從中獲益
☑ 說明如何將 DDD 運用於不同的架構中,包括六角架構、SOA、REST、CQRS、事件驅動設計以及基於 Data Fabric/網格的架構
☑ 妥善地設計與運用實體,並了解何時該使用值物件而非實體
☑ 學習掌握與運用 DDD 強大的新技術——領域事件
☑ 利用 ORM 與 NoSQL 和其他資料庫等技術來實作 Repository
★專家推薦:
【各界專業人士推薦】
「閱讀 DDD 藍皮書時搭配本書一起服用,學習效果更好。此外,本書還包含在 DDD 藍皮書中沒有提到,但後來 DDD 社群廣泛使用的模式,像是領域事件(Domain Event)、事件溯源(Event Sourcing)、六角架構、命令與查詢責任分離(CQRS)等,兼顧深度與廣度,誠意十足。」
—Teddy Chen,部落格「搞笑談軟工」板主
我個人的著作《領域驅動設計》(Domain-Driven Design)一書出版近九年,這些年已經累積了不少關於 DDD 的新知識,包括基礎知識新的介紹方式,而 Vaughn 這本書正是對 DDD 有最完整闡述的指引,更為我們帶來了全新的實作觀點。」
—Eric Evans,《領域驅動設計》作者
「對於期望提升技術的軟體開發人員來說,想在軟體開發過程中遵循最佳的專業實踐方法來設計與實作領域驅動的企業應用程式,《實戰領域驅動設計》傳授了過去幾十年領域驅動設計和企業應用程式架構社群努力耕耘的寶貴知識。」
—Randy Stafford,自由架構設計師,Oracle Coherence 產品開發部門
「對於渴望落實 DDD 設計的人來說,絕對不可錯過本書。」
—Udi Daham,NServiceBus 創辦人
★目錄:
推薦序
前言
致謝
本書閱讀指南
Chapter 1 DDD 入門
我能實作 DDD 嗎?
為什麼需要 DDD ?
如何實踐 DDD
採用 DDD 帶來的業務價值
應用 DDD 時會遇到的挑戰
非純屬虛構
本章小結
Chapter 2 領域,子領域,Bounded Context
DDD 的全貌
為何戰略設計這麼重要
實務中的領域與子領域
Bounded Context 的重要性
情境範例
本章小結
Chapter 3 情境地圖
情境地圖的重要性
本章小結
Chapter 4 架構
訪談成功的資訊長
分層架構
六角架構(埠口與轉接器)
服務導向架構
命令與查詢職責分離──CQRS
事件驅動架構
Fata Fabric 與網格分散式運算
本章小結
Chapter 5 實體
為什麼要使用實體
唯一識別值
探索實體與實體固有的特性
本章小結
Chapter 6 值物件
值物件的特性
最低限整合
以值物件表示標準類型
值物件的驗證測試
動手實作
值物件的保存
本章小結
Chapter 7 領域服務
辨認何者是領域服務(要先知道什麼不是領域服務)
確認對領域服務的需求
領域服務建模
測試領域服務
本章小結
Chapter 8 領域事件
領域事件的時機與原因
事件建模
由領域模型發布事件
發布事件給遠端 Bounded Context
Event Store
轉發庫存事件的架構風格
動手實作
本章小結
Chapter 9 模組
運用模組設計
模組命名的基本原則
模型模組的命名規範
敏捷式專案管理情境中的模組
其他架構層中的模組
模組優先,Bounded Context 在後
本章小結
Chapter 10 聚合
將聚合運用於 Scrum 核心領域
原則:在一致性邊界內建模真正的不變量
原則:設計小聚合
原則:以識別值存取其他聚合
原則:在邊界外部使用最終一致性
原則總有例外
從過程中深入理解
實作細節
本章小結
Chapter 11 工廠
領域模型中的工廠
聚合根中的工廠方法
服務中的工廠
本章小結
Chapter 12 Repository
集合導向 Repository
持久性導向的 Repository
額外行為
管理交易階段
型別階層
Repository 與資料存取物件(DAO)
Repository 的測試
本章小結
Chapter 13 整合 Bounded Contexts
整合的基礎知識
透過 RESTful 進行整合
透過訊息機制進行整合
本章小結
Chapter 14 應用程式
使用者介面
應用服務
結合多個 Bounded Context
基礎設施
企業應用服務元件容器
本章小結
Appendix A 聚合與事件溯源(A+ES)
應用服務內部
命令處理器(Command Handler)
Lambda 語法
並行控制
任何結構適用的 A+ES
效能
實作 Event Store
關聯式持久性
BLOB 大型物件持久性
專責聚合
讀取模型映射
與聚合設計結合
事件豐富度
可配合的工具與設計模式
建立合約精神的規範
單元測試與測試規範
事件溯源與函式語言
<作者簡介>
Vaughn Vernon
Vaughn Vernon 是一名資深的軟體工程師,在軟體設計、開發與架構方面擁有超過 25 年以上的豐富經驗,提倡將創新的方法運用於實作當中並簡化軟體設計。自 1980 年代以來,他一直在從事物件導向語言的程式設計,並於 1990 年代初期還以 Smalltalk 作為領域建模工具的時期開始就致力於領域驅動設計。他在國際間提供軟體開發的諮詢與授課服務,並在許多國家開設「實戰領域驅動設計」的訓練課程。
相關分類
購物須知
寄送時間 | 全台灣24h到貨,遲到提供100元現金積點。全年無休,週末假日照常出貨。例外說明 |
---|---|
送貨方式 | 透過宅配送達。除網頁另有特別標示外,均為常溫配送。 消費者訂購之商品若經配送兩次無法送達,再經本公司以電話與Email均無法聯繫逾三天者,本公司將取消該筆訂單,並且全額退款。 |
送貨範圍 | 限台灣本島與離島地區註,部分離島地區包括連江馬祖、綠島、蘭嶼、琉球鄉…等貨件,將送至到岸船公司碼頭,需請收貨人自行至碼頭取貨。注意!收件地址請勿為郵政信箱。 註:離島地區不配送安裝商品、手機門號商品、超大材商品及四機商品。 |
售後服務 | 缺掉頁更換新品 |
執照證號&登錄字號 | 本公司食品業者登錄字號A-116606102-00000-0 |
關於退貨
- PChome24h購物的消費者,都可以依照消費者保護法的規定,享有商品貨到次日起七天猶豫期的權益。(請留意猶豫期非試用期!!)您所退回的商品必須回復原狀(復原至商品到貨時的原始狀態並且保持完整包裝,包括商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性)。商品一經拆封/啟用保固,將使商品價值減損,您理解本公司將依法收取回復原狀必要之費用(若無法復原,費用將以商品價值損失計算),請先確認商品正確、外觀可接受再行使用,以免影響您的權利,祝您購物順心。
- 如果您所購買商品是下列特殊商品,請留意下述退貨注意事項:
- 易於腐敗之商品、保存期限較短之商品、客製化商品、報紙、期刊、雜誌,依據消費者保護法之規定,於收受商品後將無法享有七天猶豫期之權益且不得辦理退貨。
- 影音商品、電腦軟體或個人衛生用品等一經拆封即無法回復原狀的商品,在您還不確定是否要辦理退貨以前,請勿拆封,一經拆封則依消費者保護法之規定,無法享有七天猶豫期之權益且不得辦理退貨。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,一經您事先同意後始提供者,依消費者保護法之規定,您將無法享有七天猶豫期之權益且不得辦理退貨。
- 組合商品於辦理退貨時,應將組合銷售商品一同退貨,若有遺失、毀損或缺件,PChome將可能要求您依照損毀程度負擔回復原狀必要之費用。
- 若您需辦理退貨,請利用顧客中心「查訂單」或「退訂/退款查詢」的「退訂/退貨」功能填寫申請,我們將於接獲申請之次日起1個工作天內檢視您的退貨要求,檢視完畢後將以E-mail回覆通知您,並將委託本公司指定之宅配公司,在5個工作天內透過電話與您連絡前往取回退貨商品。請您保持電話暢通,並備妥原商品及所有包裝及附件,以便於交付予本公司指定之宅配公司取回(宅配公司僅負責收件,退貨商品仍由特約廠商進行驗收),宅配公司取件後會提供簽收單據給您,請注意留存。
- 退回商品時,請以本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋),原封包裝後交付給前來取件的宅配公司;如果本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋)已經遺失,請您在商品原廠外盒之外,再以其他適當的包裝盒進行包裝,切勿任由宅配單直接粘貼在商品原廠外盒上或書寫文字。
- 若因您要求退貨或換貨、或因本公司無法接受您全部或部分之訂單、或因契約解除或失其效力,而需為您辦理退款事宜時,您同意本公司得代您處理發票或折讓單等相關法令所要求之單據,以利本公司為您辦理退款。
- 本公司收到您所提出的申請後,若經確認無誤,將依消費者保護法之相關規定,返還您已支付之對價(含信用卡交易),退款日當天會再發送E-mail通知函給您。