Article image
Bruno Carvalho
Bruno Carvalho09/04/2026 01:04
Share

IA escreve código. Arquitetura ainda separa os bons projetos dos caóticos no .NET .

    Se você quer começar a programar com .NET hoje, é necessário entender que a IA virou uma ferramenta absurda de produtividade.

    Ela gera endpoints, componentes, integrações e até features inteiras em segundos. Só que isso trouxe um efeito colateral importante: escrever código ficou mais fácil, mas manter software bem estruturado continua difícil.

    Por isso, saber sintaxe e lógica básica continua sendo obrigatório   mas deixou de ser diferencial. O que realmente começa a separar projetos saudáveis de projetos caóticos é arquitetura.

    E antes de tudo: não existe arquitetura melhor de forma absoluta. Existe arquitetura mais adequada para cada contexto.

    Bem, eu me chamo Bruno, sou estudante de Ciência da Computação e já mexo com dotnet a 3 anos e neste artigo quero mostrar 3 arquiteturas muito comuns em projetos .NET fullstack, onde elas costumam aparecer e como elas se conectam com o mundo atual de IA.

    Por que arquitetura importa ainda mais com IA

    A IA acelera código bom e código ruim.

    Ela pode te ajudar a criar uma API rápido, mas também pode te ajudar a criar:

    • Service gigante,
    • abstrações desnecessárias,
    • acoplamento escondido,
    • e uma falsa sensação de organização.

    Em outras palavras: a IA não substitui decisão técnica.

    E no .NET, isso aparece rápido quando entram features como:

    • integrações com LLMs,
    • tool calling,
    • workflows assíncronos,
    • retries,
    • logs,
    • histórico,
    • e orquestração de agentes.

    Quanto mais “inteligente” a feature parece, mais importante fica a arquitetura ao redor dela.

    1) Arquitetura em Camadas (Layered / N-Tier)

    É uma das arquiteturas mais comuns no ecossistema .NET e provavelmente a primeira que muita gente encontra.

    Onde costuma ser usada

    • sistemas internos
    • APIs corporativas
    • ERPs/CRMs menores
    • SaaS pequenos e médios
    • times iniciantes ou em crescimento

    Divisão comum por pastas

    src/
    ├── WebApi/
    ├── Application/
    ├── Domain/
    └── Infrastructure/
    
    
    

    Exemplo

    Num sistema de agendamentos:

    • WebApi recebe a requisição
    • Application coordena o caso de uso
    • Domain aplica regras (ex.: horário comercial)
    • Infrastructure salva no banco com EF Core

    Quando faz sentido

    É ótima para:

    • começar bem,
    • separar responsabilidades,
    • evitar controller gigante,
    • organizar monólitos tradicionais.

    2) Clean Architecture

    A ideia aqui é simples: o núcleo do negócio não deveria depender de banco, framework, fila ou provedor de IA.

    Essas dependências existem, claro   mas idealmente como detalhe de implementação, não como centro do sistema.

    Onde costuma ser usada

    • produtos com regras de negócio mais fortes
    • sistemas com várias integrações
    • projetos de longo prazo
    • times com mais maturidade
    • aplicações que precisam de boa testabilidade

    Divisão comum por pastas

    
    src/
    ├── Api/
    ├── Application/
    ├── Domain/
    ├── Infrastructure/
    └── SharedKernel/
    

    Exemplo prático

    Num e-commerce com recomendações por IA:

    • Domain → Pedido, Produto, Carrinho
    • ApplicationCreateOrder, GetRecommendations
    • Infrastructure → EF Core, Redis, provedor LLM
    • Api → endpoints

    Quando faz sentido

    Ela é ótima escolha para::

    • reduzir acoplamento,
    • isolar integrações,
    • testar melhor,
    • proteger o domínio.

    3) Vertical Slice Architecture

    Aqui a organização não gira em torno de Controllers, Services e Repositories, mas sim de features.

    Você estrutura o sistema por caso de uso, não por tipo técnico.

    Onde costuma ser usada

    • APIs modernas com ASP.NET Core
    • Minimal APIs
    • times que evoluem produto rápido
    • sistemas com muitas features independentes
    • projetos com MediatR/CQRS

    Divisão comum por pastas

    src/
    ├── Api/
    ├── Features/
    │   ├── Orders/
    │   ├── Auth/
    │   └── Tickets/
    ├── Domain/
    └── Infrastructure/
    

    Exemplo prático

    Numa plataforma de suporte com IA:

    • Tickets/Create
    • Tickets/GetById
    • Tickets/SummarizeWithAI
    • Tickets/SuggestReply

    Cada fluxo pode ter:

    • endpoint,
    • request/response,
    • validação,
    • handler,
    • integração necessária.

    Quando faz sentido

    Ela é ótima para:

    • evoluir features rápido,
    • localizar mudanças,
    • evitar Service centralizador,
    • organizar sistemas por fluxo real do produto.

    

    Conclusão

    A IA tornou mais fácil gerar código. Mas isso não tornou mais fácil construir software saudável.

    No ecossistema .NET, o diferencial já não está só em “fazer funcionar”. Está em:

    • organizar bem,
    • separar responsabilidades,
    • reduzir acoplamento,
    • e escolher a arquitetura certa para o momento certo.

    No fim, essa é a grande virada da era da IA no desenvolvimento:

    escrever código ficou mais fácil.

    Estruturar software continua sendo o verdadeiro diferencial.

    Espero que você tenha gostado do conteúdo e quero lembrar que estou sempre aberto à novas conexões, me mande uma mensagem, eu irei amar!

    Agora depois de ver essas 3 arquiteturas como desafio, tu podes procurar repositórios dotnet no GitHub e tentar identificar se ele segue uma dessas apresentadas.

    Fontes e referências

    • Microsoft Learn: .NET Architecture Documentation
    • Microsoft Learn: Common web application architectures
    • Microsoft Learn:  ASP.NET Core documentation
    • Microsoft / dotnet-architecture:  eShopOnWeb
    • Jimmy Bogard:  Vertical Slice Architecture 
    Share
    Comments (0)