👨‍💻
Software Engineering
Implementing Domain Driven Design
Implementing Domain Driven Design
  • Intro
  • 1. Getting Started with DDD
    • The Business Value of DDD
  • 4: Architecture
  • 5: Entities
    • Why We Use Entities
    • Unique Identity
  • 6: Value Objects
    • Value Object Characteristics
    • Integrate with Minimalism
    • Standard Types Expressed as Values
    • Resources
  • 10: Aggregates
  • 8: Domain Events
    • The When & Why of Domain Events
    • Modeling Events
    • Publishing Events from the Domain Model
  • 13: Factories
  • Resources
Powered by GitBook
On this page
  1. 6: Value Objects

Integrate with Minimalism

We must find appropriate way to integrate with multiple Bounded Contexts

Where possible use Value Objects to model concepts in a downstream context when objects from the upstream Context flow in.

  • This provides integration with a priority on minimalism - minimizing the number of properties that you assume responsibility for managing in the downstream model.

There are times when an object in a downstream Context must be eventually consistent with the partial state of one or more Aggregates in a remote Context.

  • Design an Aggregate in the downstream consuming context, because Entities are used to maintain a thread of continuity of change.

  • We should strive to avoid this modeling choice where possible.

  • When you can, favor Value Objects to model integrations.

  • This advice is applicable in many cases when consuming remote Standard Types.

PreviousValue Object CharacteristicsNextStandard Types Expressed as Values

Last updated 7 months ago