This pattern enables representation of the system’s data in multiple persistent models.

Closely related to event sourcing.

When to use

  • Useful for applications that need to work with the same data in multiple models, potentially stored in different kinds of databases
  • Naturally lends itself to event-sourced domain models.