Arquitetura selecionada
Clean
Clean Architecture no frontend separa entidades, casos de uso, gateways e interface. As camadas externas conhecem as internas, mas o domínio não depende de framework, API ou componente visual.
Estrutura de pastas
Navegue pelos arquivos para ver como a arquitetura aparece no código.
export class Invoice {
isOverdue(today: Date) {
return this.dueDate < today && !this.paidAt;
}
}Prós
- Deixa dependências mais explícitas.
- Reduz acoplamento entre UI e regras.
- Favorece testes e evolução de longo prazo.
Contras
- Pode adicionar cerimônia demais em telas simples.
- Precisa de critérios claros para separar camadas.
- A comunicação entre camadas pode ficar verbosa.
Quando usar
- Sistemas frontend com vida longa.
- Produtos com casos de uso complexos ou auditáveis.
- Times que valorizam isolamento de regras e testabilidade.
Exemplo real
Um painel financeiro em que cálculos, permissões e fluxos precisam ser testados fora da interface.
Cenário prático
A tela de pagamento chama o caso de uso `PayInvoice`, que valida regras e conversa com um gateway sem conhecer Angular ou detalhes do endpoint.
Como implementar
- Coloque regras de negócio em entidades e casos de uso.
- Defina interfaces para gateways consumidos pelos casos de uso.
- Deixe componentes apenas orquestrarem entrada do usuário e estado de tela.
Cuidado comum
Duplicar camadas sem regras reais faz a aplicação parecer sofisticada, mas mais lenta de alterar.