Você está na página 1de 24

Arquitetura Limpa

Pistas de Arquitetura

02/06/2020
Tópicos

❏ O que é Arquitetura Limpa (Clean Architecture)

❏ Benefícios da Arquitetura Limpa

❏ Bala de prata da computação?

❏ Arquitetura Limpa + Pirâmide de Testes

❏ Arquitetura Limpa para as Pistas


O que é a Arquitetura Limpa (Clean Architecture)

Robert C. Martin, mais conhecido como (Tio)


Uncle Bob, propôs este estilo de arquitetura,
propondo uma estrutura de baixo acoplamento
que resultasse em fácil manutenibilidade e
testabilidade para o sistema.

Ela é uma derivação da Arquitetura Cebola e


Arquitetura Hexagonal, que compartilham idéias
similares.
O que é a Arquitetura Limpa (Clean Architecture)

Quais são os princípios da arquitetura limpa:

❏ Independência de Framework

❏ Testabilidade

❏ Independência de interface de usuário

❏ Independência de banco de dados

❏ Independência de agentes externos


O que é a Arquitetura Limpa (Clean Architecture)

Quais são as camadas da arquitetura limpa:

❏ Entidades

❏ Casos de uso

❏ Adaptadores de interface

❏ Frameworks e drivers
Benefícios da Arquitetura Limpa

Quais são os benefícios de se usar a arquitetura limpa:

❏ A arquitetura é modular e incremental

❏ Promove uma estratégia efetiva para a pirâmide de testes

❏ A estrutura diz o que o aplicativo faz

❏ Concentração da lógica de negócio, fácil de encontrar e não duplicar

❏ Dificulta o desenvolvimento fora do padrão pelas próprias dependências de

compilação
Bala de prata da computação?

Nem tudo são flores...


Bala de prata da computação?

Quais são os custos de se usar o modelo de Arquitetura Limpa:

❏ Maior volume de código

❏ Curva de aprendizado
Arquitetura Limpa + Pirâmide de Testes
Arquitetura Limpa + Pirâmide de Testes
Arquitetura Limpa + Pirâmide de Testes
Arquitetura Limpa + Pirâmide de Testes
Arquitetura Limpa + Pirâmide de Testes

Quais são os resultados esperados ao utilizar esta abordagem:

❏ Diminuição do retrabalho

❏ Diminuição do volume de bugs em homologação e produção

❏ Diminuição do Lead Time

❏ Aumento da qualidade e manutenibilidade do código


Arquitetura Limpa para as Pistas

+ Núcleo: Lógica de negócio

Pontos de Entrada: Acesso à


aplicação

Provedores de Dados: Recupera e


armazena informações

Configuração: Frameworks e
bibliotecas de terceiros
Arquitetura Limpa para as Pistas
Arquitetura Limpa para as Pistas

Módulos da Aplicação

❏ core

❏ dataproviders

❏ entrypoints

❏ configuration
Arquitetura Limpa para as Pistas

Estrutura do módulo Core

❏ core / domain / entity

❏ core / domain / enumerators

❏ core / domain / exceptions

❏ core / usecase

❏ core / usecase / validator


Arquitetura Limpa para as Pistas

Interfaces do módulo Core

❏ core / usecase / repository

❏ core / usecase / file

❏ core / usecase / service


Arquitetura Limpa para as Pistas

Estrutura do módulo Dataproviders

❏ dataproviders / database

❏ dataproviders / filesystem

❏ dataproviders / network
Arquitetura Limpa para as Pistas

Estrutura do módulo Entrypoints

❏ entrypoints / rest

❏ entrypoints / rest / model


Arquitetura Limpa para as Pistas

Estrutura do módulo Configuration

❏ Arquivo Principal

❏ configuration
Arquitetura Limpa para as Pistas

Exemplo de implementação de caso de uso em Arquitetura Limpa:


Arquitetura Limpa para as Pistas

Resultado do template do Angular em Arquitetura Limpa no Sonar:


Obrigado!

Você também pode gostar