Mobile UseCase (Android)
Overview
Criar casos de uso em Kotlin puro seguindo interface UseCase<in Params, out R> com suspend operator fun invoke(params: Params): Result<R>. O use case orquestra: valida → chama repository → retorna Result.
Guidelines
interface UseCase<in Params, out R>comsuspend operator fun invoke().- Sem dependências Android — apenas Kotlin e Coroutines.
- Recebe
IRepositoryvia construtor (Hilt injetará na implementação do ViewModel). - Retorna
Result<R>— captura exceptions do repository. - Parâmetros encapsulados em
data class <Nome>Params.
Workflow
- Criar
interface UseCase<in Params, out R>emcore/usecase/UseCase.kt. - Criar
class <Nome>UseCase @Inject constructor(private val repo: IRepository). - Implementar
invoke()com lógica de negócio. - Criar em
features/<bc>/application/usecase/<Nome>UseCase.kt.
References
- Consultar references/android-usecase-pattern.md para código completo.
- Consultar ../skills-standards.md para convenções globais.
Global Standards
- Consultar ../skills-standards.md para padrões globais de nomenclatura e convenções gerais entre skills.