DTO (Kotlin)
Overview
Aplicar o padrão de DTOs em Kotlin para fronteiras de aplicação/leitura, separando claramente entrada, saída e projeções de query conforme o consumidor e o caso de uso.
Guidelines
- Distinguir DTO por finalidade:
- Input DTO: entrada de use case/comando/filtro.
- Output DTO: resposta de use case/controlador.
- Query DTO (CQRS): projeção de leitura para API/front.
- Usar
data classpara todos os DTOs. - Query DTO não deve estender classe de entidade.
- DTO sem regra de domínio e sem acoplamento ao ORM.
- Preferir nomes explícitos (
FindAllUsersOutDTO,ProductFiltersDTO).
Workflow
- Identificar o tipo de DTO (input, output ou query).
- Definir o contrato mínimo necessário para o consumidor.
- Criar
data classcom campos tipados. - Padronizar paginação/filtros/metadados quando aplicável.
- Revisar uso no use case/query/repository para manter fronteiras corretas.
References
Consultar references/dto-pattern-kt.md para exemplos, convenções e checklist.
Consultar ../skills-standards.md para convenção global de nomenclatura (seção Kotlin).
Global Standards
- Consultar
../skills-standards.mdpara padrões globais de nomenclatura e convenções gerais entre skills.