Voltar para lista

13 de 13 visíveis

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.

Navegue pelos arquivos para ver como a arquitetura aparece no código.

Clean

Caminhosrc/app/entities/invoice.ts

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.