Event representing something meaningful in a domain.

Backoff whose delay grows exponentially.

Central mechanism for finding services.

Handles user interface concerns.

Explicit boundary around a domain model.

Repeated operation produces the same result.

High-level code should not depend on concrete details.

Coordinates application operations.

Shared terminology used by developers and domain experts.

Data becomes consistent after some delay.