keithmifsud/php-event-sourcing-demo

Develop a Common Domain Model

Opened this issue · 0 comments

Develop a Common Domain Model for objects shared with other Write and Read Models.

Initially, the common model includes abstractions for Model and Domain objects related to Event Sourcing.

As I go along with the system's development, it will also include extensible Value Objects, Identifiers and any other Domain object which is useful across Models.

Requirements for Event Sourcing & Read Model Models

  • Event
  • EventSourcedAggregateRoot
  • Command
  • Handler
  • Listener
  • Projector
  • ReadModel
  • ReadModelRepository
  • EventSourcingRepository
  • AggregateCollectionRepository *

* Just a cool new experimental feature

Requirements for Event Sourcing Orchestration

  • CommandBus
  • EventBus
  • SeriazableMessage
  • Serializer

Value Objects

  • ValueObject
  • AggregateIdentifier
    ....++