Hands-On Domain-Driven Design with .NET Core (Paperback)

Zimarev, Alexey

買這商品的人也買了...

商品描述

Key Features

  • Apply DDD principles using modern tools such as EventStorming, Event Sourcing, and CQRS
  • Learn how DDD applies directly to various architectural styles such as REST, reactive systems, and microservices
  • Empower teams to work flexibly with improved services and decoupled interactions

Book Description

Developers across the world are rapidly adopting DDD principles to deliver powerful results when writing software that deals with complex business requirements. This book will guide you in involving business stakeholders when choosing the software you are planning to build for them. By figuring out the temporal nature of behavior-driven domain models, you will be able to build leaner, more agile, and modular systems.

You'll begin by uncovering domain complexity and learn how to capture the behavioral aspects of the domain language. You will then learn about EventStorming and advance to creating a new project in .NET Core 2.1; you'll also and write some code to transfer your events from sticky notes to C#. The book will show you how to use aggregates to handle commands and produce events. As you progress, you'll get to grips with Bounded Contexts, Context Map, Event Sourcing, and CQRS. After translating domain models into executable C# code, you will create a frontend for your application using Vue.js. In addition to this, you'll learn how to refactor your code and cover event versioning and migration essentials.

By the end of this DDD book, you will have gained the confidence to implement the DDD approach in your organization and be able to explore new techniques that complement what you've learned from the book.

What you will learn

  • Discover and resolve domain complexity together with business stakeholders
  • Avoid common pitfalls when creating the domain model
  • Study the concept of Bounded Context and aggregate
  • Design and build temporal models based on behavior and not only data
  • Explore benefits and drawbacks of Event Sourcing
  • Get acquainted with CQRS and to-the-point read models with projections
  • Practice building one-way flow UI with Vue.js
  • Understand how a task-based UI conforms to DDD principles

Who this book is for

This book is for .NET developers who have an intermediate level understanding of C#, and for those who seek to deliver value, not just write code. Intermediate level of competence in JavaScript will be helpful to follow the UI chapters.

商品描述(中文翻譯)

主要特點


  • 運用現代工具如EventStorming、Event Sourcing和CQRS來應用DDD原則

  • 了解DDD如何直接應用於各種架構風格,如REST、反應式系統和微服務

  • 使團隊能夠靈活工作,提供改進的服務和解耦的互動

書籍描述

全球的開發人員正在迅速採用DDD原則,以在處理複雜的業務需求時提供強大的結果。本書將指導您在選擇要為業務利益相關者建立的軟體時,如何讓他們參與其中。通過找出行為驅動的領域模型的時間性質,您將能夠構建更精簡、更敏捷和模塊化的系統。

您將首先揭示領域的複雜性,並學習如何捕捉領域語言的行為方面。然後,您將了解EventStorming,並開始在.NET Core 2.1中創建一個新項目;您還將編寫一些代碼,將您的事件從便利貼轉換為C#。本書將向您展示如何使用聚合處理命令並生成事件。隨著進展,您將瞭解Bounded Context、Context Map、Event Sourcing和CQRS。將領域模型轉化為可執行的C#代碼後,您將使用Vue.js為應用程序創建前端。此外,您還將學習如何重構代碼,並涵蓋事件版本控制和遷移的基本知識。

通過閱讀本書,您將在組織中實施DDD方法並能夠探索與書中所學相輔相成的新技術。

您將學到什麼


  • 與業務利益相關者一起發現和解決領域的複雜性

  • 在創建領域模型時避免常見陷阱

  • 研究Bounded Context和聚合的概念

  • 基於行為而不僅僅是數據來設計和構建時間模型

  • 探索Event Sourcing的優點和缺點

  • 熟悉CQRS和基於投影的簡潔讀模型

  • 使用Vue.js實踐單向流程的UI構建

  • 了解基於任務的UI如何符合DDD原則

適合閱讀對象

本書適合具有中級水平的.NET開發人員,並且適合那些追求提供價值而不僅僅是編寫代碼的人。具備中級水平的JavaScript能力將有助於理解UI章節。

目錄大綱

Table of Contents

  1. Why Domain-Driven Design
  2. Language and Context
  3. EventStorming
  4. Designing the Model
  5. Implementing the Model
  6. Acting with Commands
  7. Consistency Boundary
  8. Aggregate persistence
  9. CQRS: The read-side
  10. Event Sourcing
  11. Projections
  12. Bounded Context
  13. Splitting the System

目錄大綱(中文翻譯)

目錄


  1. 為什麼要使用領域驅動設計

  2. 語言和上下文

  3. EventStorming

  4. 設計模型

  5. 實現模型

  6. 使用命令進行操作

  7. 一致性邊界

  8. 聚合持久化

  9. CQRS: 讀取端

  10. 事件溯源

  11. 投影

  12. 有界上下文

  13. 系統拆分