Flutter Domain Layer (summary)
Purpose: Minimal, opinionated guidance and templates for the domain/core layer.
Essentials
- Entities: immutable models and value objects (use
equatablefor equality). - Repositories: abstract interfaces (ports) implemented by the data layer.
- Use cases: interactors exposing a
call()method. - Domain exceptions: typed domain errors; map infra errors in the data layer.
Structure
- Suggested layout:
lib/domain/entities/,lib/domain/repositories/,lib/domain/usecases/,lib/domain/exceptions.dart - Keep domain pure (no Dio or data imports).
Details and examples moved to reference docs:
references/entities.mdreferences/repositories.mdreferences/usecases.mdreferences/exceptions.mdtemplates/— code templates (entity, repository, use case, exceptions)
Quick prompts
- "Scaffold
Userentity (Equatable),UserRepositoryinterface,GetUseruse case, and domain exceptions." - "Create a
GetUserunit test using a fake repository."