Module eventually::command

source ·
Expand description

Module containing support for Domain [Command]s.

Following the Domain-driven Design definition, a [Command] expresses the intent of an Actor (e.g. a Customer, a User, a System, etc.) to modify the state of the system in some way.

To modify the state of the system through a [Command], you must implement a Command Handler which, in an Event-sourced system, should make use of an [Aggregate] to evaluate the validity of the Command submitted, and emit Domain [Event]s as a result (through the Event [Store]).

Check out the type documentation exported in this module.

Modules§

Traits§

  • A software component that is able to handle [Command]s of a certain type, and mutate the state as a result of the command handling, or fail.

Type Aliases§

  • A Command represents an intent by an Actor (e.g. a User, or a System) to mutate the state of the system.