Domain-Driven Design

此頁面正在建設中。

Overview

Domain-Driven Design (DDD) is an approach to software development that centers the development on programming a domain model that has a rich understanding of the processes and rules of a domain.

Key Concepts

  • Bounded Context - A boundary within which a particular model is defined and applicable
  • Ubiquitous Language - A common language used by all team members
  • Aggregates - A cluster of domain objects treated as a single unit
  • Entities - Objects with a distinct identity
  • Value Objects - Objects defined by their attributes
  • Domain Events - Something that happened in the domain

Related Architectures

  • Hexagonal Architecture (Ports and Adapters)
  • Clean Architecture
  • Onion Architecture