What problem does it solve?
Elite use case/interactor pattern expertise for Kotlin Multiplatform domain layers. Use when designing business logic encapsulation, orchestrating repositories, implementing domain operations, handling validation, or separating concerns. Triggers on business logic organization, use case design, domain layer architecture, or interactor patterns.
Core Features & Use Cases
- Single-responsibility use cases: Each operation encapsulates a single business action; pure Kotlin and easily testable.
- Operator Invoke Pattern: Use cases implement operator fun invoke(...) to expose a natural, function-like API.
- Flow-Based Composition: Compose results with Flows for reactive, streaming scenarios.
- Parameterized Use Cases: Support multi-parameter inputs via dedicated parameter data classes.
- Orchestration Examples: Examples include GetUserProfileUseCase, ObserveUserUseCase, and aggregated dashboards using multiple repositories.
Quick Start
Create a simple GetUserProfileUseCase with a UserRepository and a PreferencesRepository, implement operator fun invoke(userId: String), then call it to obtain a UserProfile.