Table of Contents

O que é The Clean Arch?

O termo Clean Architecture (Arquitetura Limpa) foi cunhado inicialmente por Robert C. Martin (Uncle Bob) por volta de 2008, e está disponível em seu blog com última atualização em 2012 como "The Clean Architecture". Clean Architecture envolve uma série de boas práticas para o desenvolvimento de software de forma sustentável. Desde que o termo foi cunhado por Uncle Bob, muitas pessoas vem procurando traduzir melhor suas ideias e implementá-las em várias tecnologias, fazendo isso através de templates, bibliotecas, além de inúmeros tutoriais guias espalhados pelo vasto terreno da Web.

Vale ressaltar que Uncle Bob se vale da definição e trabalhos feitos por outras pessoas como Alistair Cockburn e sua Hexagonal Architecture (também conhecida como Ports and Adapters), ou Jeffrey Palermo e a Onion Architecture. Uncle Bob, concordando com os pontos de vista desses e de outros também (veja as menções no próprio artigo), acrescenta suas próprias ideias como Screaming Architecture, além de resumir bem todas elas juntas nesse compilado que postou em seu blog. Você vai encontrar mais detalhes ainda sobre o assunto no livro do próprio Uncle Bob entitulado "Arquitetura Limpa - O Guia do Artesão para Estrutura e Design de Software", e lá você encontra o restante das informações que precisa.

O fato é que essas ideias são a base para o que implementamos aqui no projeto "The Clean Arch". Pretendemos ser um ponto de partida seguro, e quiçá uma referência para você implementar seus softwares sob esses fundamentos no que diz respeito a arquitetura de software. Inicialmente focado em .NET, mas pretendemos expandir para outras tecnologias, porque entendemos que o conceito é independente de tecnologia.

Sabemos que existem inúmeras implementações já disponíveis na Web. Sabemos também que existem muitas formas de fazer a mesma coisa, e uma não torna a outra incorreta, apenas são diferentes entre si. Não podemos deixar de mencionar que existem muitos equívocos em algumas implementações que estão disponíveis também, mas a grande maioria está de acordo com os princípios. Talvez cometamos alguns equívocos aqui também em nossas definições, mas estamos prontos a voltar atrás e corrigir o que for necessário, logo, esteja à vontade para nos ajudar com isso.

Podemos concordar então que o projeto "The Clean Arch" é apenas mais uma dessas implementações. Talvez o que tenhamos de diferente seja o fato de que queremos disponibilizar essa implementação da seguinte forma:

  1. Totalmente Open Source
  2. Uma documentação como Guia
  3. Um conjunto Mínimo de Bibliotecas para viabilizar a implementação
  4. Um conjunto de Ferramentas para verificações

Então resumimos o projeto "The Clean Arch" como um Guia Open Source com Mínimo de Bibliotecas e Ferramentas para implementar "The Clean Architecture" conforme Uncle Bob definiu em seu artigo.

Então seja bem vindo(a) a documentação para "The Clean Arch", aqui você aprenderá tanto a usar as bibliotecas e as ferramentas do projeto, quanto aprenderá sobre "Arquitetura Limpa" em si. Aprecie o conteúdo sem moderação!