Arquitetura Clean (Clean Architecture) é um padrão de organização de software proposto por Robert C. Martin (Uncle Bob) no livro homônimo publicado em 2017. O modelo estrutura o código em camadas concêntricas com uma regra central: as dependências sempre apontam para dentro, do mundo externo (frameworks, banco de dados, UI) em direção às regras de negócio puras. O objetivo é produzir sistemas testáveis, independentes de tecnologia e capazes de sobreviver a trocas de framework, banco ou interface sem reescrita massiva.
Como funciona
A Arquitetura Clean divide o software em quatro anéis: Entities (regras de negócio corporativas), Use Cases (regras de aplicação), Interface Adapters (controllers, presenters, gateways) e Frameworks and Drivers (banco de dados, web, dispositivos, APIs externas). A Dependency Rule impede que camadas internas conheçam detalhes das externas, invertendo dependências via interfaces.
Camadas principais
- Entities: objetos de domínio com regras que independem de qualquer aplicação (ex.: Cliente, Pedido, Contrato).
- Use Cases: orquestram as entidades para executar operações específicas do sistema (ex.: EmitirNotaFiscal, CalcularComissao).
- Interface Adapters: convertem dados entre o formato dos casos de uso e o mundo externo (controllers REST, presenters, repositórios).
- Frameworks and Drivers: camada mais externa com Spring, .NET, Express, PostgreSQL, React ou qualquer detalhe tecnológico.
Princípios centrais
- Independência de framework, UI, banco de dados e agentes externos.
- Alta testabilidade das regras de negócio sem depender de infraestrutura.
- Aplicação prática dos princípios SOLID, especialmente a Inversão de Dependência (DIP).
- Separação clara entre o que é regra de negócio e o que é detalhe técnico.
Aplicações no dia a dia
A Arquitetura Clean é adotada em sistemas B2B complexos, plataformas SaaS, ERPs, fintechs, marketplaces e qualquer aplicação com regras de negócio ricas e ciclo de vida longo. Segundo a ThoughtWorks Technology Radar (2023), padrões derivados da Clean Architecture, como Hexagonal e Onion, permanecem em Adopt para sistemas corporativos que precisam de longevidade e manutenibilidade. Times grandes ganham previsibilidade ao trabalhar com camadas bem definidas, reduzindo acoplamento entre squads.
Vantagens percebidas
- Redução de custo de manutenção em projetos de longo prazo.
- Facilidade para trocar banco de dados, framework ou canal de entrega.
- Testes unitários rápidos, sem dependência de infraestrutura pesada.
- Onboarding mais previsível em times com alta rotatividade.
Leia o artigo completo: Arquitetura Clean (Clean Architecture): camadas, princípios e como aplicar

