🗺️ Os Quatro Níveis de Abstração do Modelo C4 (Simon Brown)

flowchart TD
    L1["Nível 1: Contexto do Sistema (System Context)\nA visão de satélite: usuários, sistemas externos e fronteiras"]
    --> L2["Nível 2: Containers\nAplicações web, apps móveis, microsserviços e bancos de dados"]
    L2 --> L3["Nível 3: Componentes\nMódulos internos, controladores, serviços de domínio e adaptadores"]
    L3 --> L4["Nível 4: Código\nClasses, interfaces e diagramas de implementação detalhada"]

    style L1 fill:#ede7f6,stroke:#512da8,stroke-width:2px
    style L2 fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
    style L3 fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
    style L4 fill:#fff3e0,stroke:#ff9800,stroke-width:2px

📖 Fundamentos e Aplicação

Diagramas de arquitetura tradicionais criados em ferramentas visuais como Visio ou Draw.io sofrem de “deterioração silenciosa”: no momento em que são exportados como PNG e inseridos em um PDF, já estão desatualizados em relação ao código em produção.

O paradigma Architecture-as-Code (AaC) integra os diagramas diretamente aos arquivos .md do repositório, garantindo versionamento com Git e validação em pipelines de CI/CD.

Ferramentas e Padrões Principais:

  1. Modelo C4: Padroniza a comunicação técnica em 4 níveis hierárquicos com zoom progressivo (Contexto, Containers, Componentes e Código).
  2. Mermaid C4 Syntax: Suporte experimental nativo a diagramas de Contexto e Container (C4Context, C4Container).
  3. Linguagem D2 e PlantUML: DSLs avançadas para diagramação declarativa com posicionamento ortogonal automático e renderização vetorial SVG de alta qualidade.