logo
  • Blog
  • Book Notes
  • Garden
All Items

Domain-Driven Design

Domain-driven design (DDD) is the concept that the structure and language of software code (class names, class methods, class variables) should match the business domain.

  • A Domain Model is a Map
  • Bounded Contexts act as boundaries of Domain Concepts
  • Business Invariants are always satisfied
  • Aggregates are Modeled Processes
  • Aggregates expose intentions to change the state of the domain
  • Aggregates are gateways to state change
  • Domain Events are Business Events
  • Repositories abstract database access
  • Abstractions reduce coupling
  • Application Services orchestrate Domain Operations
  • Domain Services are part of the Domain Model
All Items
© 2020-present Subhash Bhushan. All Rights Reserved.