分類
電腦資訊 / 電腦用書-其他 / 商品介紹

領域驅動設計與.NET Core:應用DDD原則,探索軟體核心複雜度


作者: Alexey Zimarev
出版社: 博碩文化
出版日期: 2021/09/15
ISBN: 9789864348602
頁數: 432

定價: NT$780
優惠價:NT$702


結帳與運送
詳細說明
商品資訊
退換貨說明
相關推薦
詳細說明

內容簡介


領域驅動設計與.NET Core:應用DDD原則,探索軟體核心複雜度


內容簡介

『本書採用目前流行的Event Storming(事件風暴)作為教學主軸,以刊登廣告系統為範例,帶著讀者完整走過一遍套用DDD的分析、設計與實作過程。書中除了基本的Entity、Value Object、Domain Service、Factory、Aggregate、Repository、Domain Event、Application Service等DDD戰術模式的詳細實作範例與設計取捨的討論,還包含進階的CQRS以及Event Sourcing應用。對於有志實踐Event Sourcing的讀者,不可錯過本書的第10章與第11章。』
——「搞笑談軟工」板主Teddy Chen 專文推薦


領域驅動設計與.NET Core:應用DDD原則,探索軟體核心複雜度

Tackling complexity in the heart of software by putting DDD principles into practice



為了將複雜的業務知識與需求,轉換成容易理解和維護的傑出軟體,來自世界各地的開發人員開始應用DDD原則,使用現代工具(如Event Storming、Event Sourcing和CQRS)識別並解決對的問題,為客戶提供他們真正想要的東西。本書將引導你,如何讓利害關係人也能參與你為他們精心建置的軟體。透過了解領域模型的行為驅動與時序本質,你將能夠建置更精實、更敏捷、模組化的系統,進而解決複雜的業務問題!

首先,我們將探討領域的複雜度,並學習如何捕捉領域語言的各種行為。然後,我們將說明Event Storming,並透過.NET Core 2.1(或更高版本)建立新專案。我們還會編寫一些將事件從便利貼轉移到C#的程式碼。我們也將展示如何使用aggregate處理命令並產生事件,以及逐步掌握CQRS、Event Sourcing、Bounded Context的精髓。在將領域模型轉換為可執行的C#程式碼之後,我們將使用Vue.js範例應用程式,學習一些有用的前端相關模式。此外,我們也將重構程式碼,討論事件版本和遷移的要點。

在這本書中,你將學到:
・使用Event Storming,與利害關係人一起發現並解決領域複雜度
・如何避免領域模型的常見陷阱
・深入探索並學習Bounded Context、Context Map等概念
・Event Sourcing的優點和缺點
・詳細介紹CQRS(命令查詢職責分離)
・學會使用Event Store
・學習實作投影(projection)
・將DDD應用於不同的架構風格,如REST、反應式系統、微服務


本書的最後一章,「第13章,分割系統」,是一個「線上補充章節」,讀者請至博碩文化官網,下載繁體中文翻譯PDF。


目標讀者:
適合熟悉C#和JavaScript的.NET開發人員。



下載範例程式檔案:
本書的程式碼是由GitHub託管,可點選下面圖案前往下載:


下載本書的彩色圖片:
提供您一個包含本書使用的彩色圖表的PDF檔案,可以在此下載:





作者簡介


作者簡介

Alexey Zimarev

Alexey Zimarev是一名軟體架構師,目前關注領域模型、DDD(領域驅動設計)、Event Sourcing、訊息驅動系統、微服務、教練與指導等技術。Alexey也是幾個開源專案的貢獻者,如RestSharp和MassTransit。他也是DDD Norway Meetup的Organizer(組織者)。

內容目錄


目錄

前言

Chapter 01:為什麼需要領域驅動設計?
了解問題
處理複雜度
知識
小結
延伸閱讀

Chapter 02:語言和情境
Ubiquitous Language
語言和情境
小結

Chapter 03:Event Storming
Event Storming
主持Event Storming工作坊
我們的第一個模型
小結
延伸閱讀

Chapter 04:設計模型
領域模型
設計階段的Event Storming
小結
延伸閱讀

Chapter 05:實作模型
技術需求
開始實作
將模型轉換為程式碼
確保正確性
程式碼中的領域事件
小結

Chapter 06:使用命令
技術需求
領域模型之外
處理命令
應用程式服務
小結

Chapter 07:一致性邊界
技術需求
保護不變量
小結

Chapter 08:Aggregate持久化
技術需求
Aggregate持久化
小結

Chapter 09:CQRS-讀取端
技術需求
新增使用者設定檔
查詢端
實作查詢
小結

Chapter 10:Event Sourcing
技術需求
為什麼要使用Event Sourcing?
事件來源的Aggregate
小結
延伸閱讀

Chapter 11:投影與查詢
事件與查詢
從「事件」建置「讀取模型」
實作投影
跨Aggregate投影
擴充讀取模型
持久化儲存空間
小結

Chapter 12:Bounded Context
單一模型的陷阱
結構化系統
小結

Chapter 13:拆分系統
本書的最後一章是一個「線上補充章節」,讀者請至博碩文化官網,下載繁體中文翻譯PDF。





ISBN: 9789864348602
商品資訊

作者: Alexey Zimarev 出版社: 博碩文化 出版日期: 2021/09/15 ISBN: 9789864348602 頁數: 432
退換貨說明

※ 本店不提供換貨服務,請於下單前確認購買商品項目。(瑕疵品除外)
※ 退貨流程:於到貨後7天內至本店的訂單查詢頁「申請退貨」>墊腳石確認退貨申請>傳送簡訊通知,需供退貨商品正/背/側面照片>宅配人員向您收取退貨商品>退款>結
案。
1. 收到商品後如發現有瑕疵、破損或是配件短缺的狀況,需要辦理退換貨,請於到貨後 7 天內登錄本購物網,於「我的帳戶」頁面申請「換貨」,我們將盡速為您處理。
2. 收到商品後可享有 7 天免費鑑賞期(含例假日),鑑賞期係供您參考、觀賞、品鑑比較。若需退換貨(依照退貨程序辦理退貨)敬請保持原包裝商品的完整,我們完全保
障您的購物權益。
3. 收到退貨申請後,將發送簡訊至您的手機,需提供退貨商品正/背/側面照片並mail至ecservice@tcsb.com.tw,或上傳照片至墊腳石LINE:@tcs.tw,避免因在運送時造成
受損等疑慮發生。

4. 退換貨注意事項:退貨的商品必須必須回復原狀,亦即必須回復至您收到商品時的原始狀態(包含商品本體、配件、內外包裝、說明書、活動贈品等)。
5. 書籍若有封膜,則拆封後不可退貨。及耳機類商品,因屬個人貼身產品,基於個人衛生問題,商品一經拆封使用後恕無法辦理退貨,如欲退貨請勿拆封。
6. 若退貨後的保留商品金額未達免運門檻(全家超商取貨$599/萊爾富超商取貨$450/7-11超商取貨$599、宅配$999、離島宅配$1,600),需支付原訂單出貨運費(全家、萊爾
富及7-11超商$65、宅配$90、離島宅配$120)。
7. 下列情形可能影響您的退貨權利:
    * 隨商品已附上相同之試用品,或在收到影音光碟及軟體前已提供您試聽、試用之機會。
    * 在不影響您檢查商品情形下,您將商品包裝毀損、封條移除、吊牌拆除、貼膠移除或標籤拆除等情形。
    * 在您收到商品之前,已提供您檢查商品之機會。
    * 其他逾越檢查之必要或可歸責於您之事由,致商品有毀損、滅失或變更者。
8. 若您已取得紙本發票或已過營業稅期的發票電子檔,待退貨完成後,客服人員會與您聯絡相關退貨事宜。
9. 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原
廠包裝損毀將無法退貨或須將損壞費用於退款中扣抵。
10. 當您申請退換貨後,請主動向貨運人員索取單據,並保留至退換貨完成,以利日後查詢。
11. 墊腳石實體門市、您的取貨超商門市,以及宅配業者無法受理本網路訂單的退換貨,請於本網進行相關退換貨手續。
12. 離島區域之退換貨,需自行自費至郵局進行投遞,寄至墊腳石電商部(320 桃園市中壢區中正路95號5樓)。
13. 海外地區之訂單,未提供退換貨服務。
                
相關推薦