Use Cases

Use cases orchestrate business logic.

A use case coordinates Repositories and Services to implement a domain workflow. Use cases contain the application’s business rules.

Use cases depend on Protocols, not implementations. They have no knowledge of databases, APIs, or frameworks.

Applications invoke use cases—whether through APIs, CLIs, or workers—but the use case itself remains unaware of how it was called. When executed as pipelines, use cases gain durability, automatic retries, and audit trails without any changes to their code.