Introdução ao C4 Model
O C4 model foi criado, entre 2006 e 2011, pelo engenheiro Simon Brown com base nos modelos de documentação 4+1 e UML.
Esse modelo surgiu com o propósito de auxiliar a resolução de problemas de documentação de arquitetura complexas, de uma forma simples e eficiente, diferentemente de modelos como o documento de requisitos de sistemas o qual é extremamente verboso e de pouca efetividade na comunicação das informações presentes nele.
Camadas
O C4 model é dividido em 4 camadas em que cada um tem um nível diferente de detalhes e finalidade.
O nível de detalhes e informações aumentam em ordem crescente:
- Contexto
- Container
- Componente
- Código
Nota
“Uma melhor alusão seria com um Google Maps, no qual se pode dar um zoom para diminuir ou ampliar o desenho arquitetural. Se em um mapa, por exemplo, temos Continente, País, Estado e Cidade” - Zup
Casos de uso
A utilização do C4 model é recomendado em todos os cenários, visto que tal ferramenta proporciona uma visão clara do projeto, tanto a nível técnico quanto de negócio, pois um bom software é baseado em um boa arquitetura e sua respectiva documentação.
Ferramentas
É recomendado a utilização de ferramentas que garantem todos os benefícios do versionamento, ou seja, um ferramenta que converta os diagramas em código (também conhecido como docs as code).
Projetos que utilizam C4 model
É um boa prática, disponibilizar a documentação C4 model online via site.