//! Domain-Driven-Design primitives shared by every pattern.
//!
//! These traits are the *vocabulary*: an [`AggregateRoot`] is the
//! transactional consistency boundary, a [`Command`] requests a state
//! change inside one, a [`DomainEvent`] records the fact that the change
//! happened, an [`Entity`] is anything with a stable identity, and a
//! [`ValueObject`] is anything whose identity is its value. The
//! [`Repository`] is how callers reach an aggregate.
pub use AggregateRoot;
pub use Command;
pub use DomainEvent;
pub use Entity;
pub use Repository;
pub use ValueObject;