Aggregates

Aggregates

In this section, you will learn about event sourced aggregates, their structure, other components involved in an event sourced system, and how to test aggregates.

Aggregates

Aggregates are the most important part of Domain-Driven Design. They are not just plain old PHP objects (POPO), but rich models that help with the...

Written by Joshua
August 14, 2024

Identifies Aggregate

Value Objects for Aggregates. Value Objects are highly recommended when identifying an aggregate or domain model.

Written by Joshua
August 14, 2024

Value Objects

Immutable blocks with no defined unique ID.

Written by Joshua
August 14, 2024

Domain Event

An event is something that has happened in the past. A domain event is something that has happened and affects the state of the application.

Written by Joshua
August 14, 2024

Records Events

Objects responsible for recording domain events. Domain events describe what has happened, but they originate from an aggregate or domain model.

Written by Joshua
August 14, 2024

Protecting Invariants

An invariant is something that holds true about your domain no matter what. Invariants ensure consistency within the domain.

Written by Joshua
August 14, 2024

Event Sourcing

Loading an aggregate back into memory involves reconstituting its previously recorded history. This concept is called Event Sourcing.

Written by Joshua
August 14, 2024

Event Store

An event store is central to event sourced systems.

Written by Joshua
August 14, 2024

Aggregate Repository

Last Updated on September 18, 2023 by Joshua

Written by Joshua
September 18, 2023