Hands-On Domain-Driven Design with .NET Core (Paperback)
暫譯: 實戰領域驅動設計與 .NET Core (平裝本)

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 Contexts)、上下文圖(Context Map)、事件來源(Event Sourcing)和 CQRS。在將領域模型轉換為可執行的 C# 代碼後,您將使用 Vue.js 為您的應用程序創建前端。此外,您還將學習如何重構代碼,並涵蓋事件版本控制和遷移的基本要素。

在本 DDD 書籍結束時,您將獲得在組織中實施 DDD 方法的信心,並能夠探索補充您從書中學到的新技術。

#### 您將學到什麼

- 與業務利益相關者一起發現並解決領域複雜性
- 避免創建領域模型時的常見陷阱
- 研究有界上下文(Bounded Context)和聚合的概念
- 根據行為而非僅僅是數據設計和構建時間模型
- 探索事件來源(Event Sourcing)的優缺點
- 熟悉 CQRS 及其精確的讀取模型與投影
- 練習使用 Vue.js 構建單向流 UI
- 理解基於任務的 UI 如何符合 DDD 原則

#### 本書適合誰

本書適合對 C# 有中級理解的 .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

目錄大綱(中文翻譯)

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