📚 O que é MVC?

MVC significa Model-View-Controller — um padrão de arquitetura que organiza sua aplicação em 3 partes principais:

Camada Função Exemplo Naruto
Model Representa os dados e regras de negócio (ex: banco de dados, entidades) Os dados dos ninjas: nome, vila, rank
View Interface com o usuário — o que o usuário vê e interage A tela que mostra a lista de ninjas
Controller Controla a interação entre View e Model — recebe ações do usuário e responde O Hokage que coordena as ações: recebe pedidos e responde

🔄 Como funciona o fluxo?

  1. O usuário (ex: fã ninja) clica para ver os ninjas (View)
  2. O Controller recebe essa requisição e pede ao Model os dados
  3. O Model retorna os dados (lista dos ninjas)
  4. O Controller envia esses dados para a View exibir

🧩 MVC no Java (exemplo Spring Boot)


🏛️ Outras arquiteturas comuns em Java

Arquitetura Descrição Vantagens Desvantagens Exemplo Naruto
Monolítica Toda a aplicação em um único projeto, código e banco integrados Fácil de desenvolver e testar inicialmente Difícil de escalar, manter e evoluir Konoha inteira funcionando como um único time
MVC Separação clara entre Model, View e Controller Organização clara, fácil manutenção Pode ser complexo em apps muito grandes Time 7 com papéis bem definidos
Microservices Aplicação dividida em vários serviços pequenos, independentes e comunicando via API Escalabilidade, deploy independente Complexidade alta, exige infraestrutura Cada aldeia ninja (Konoha, Suna, Iwa) atuando isoladamente
Camadas (Layered) Divisão por camadas (ex: Apresentação, Serviço, Persistência) Facilita testes, reutilização Pode virar burocrático, muito código “boilerplate” Hokage (controle), ANBU (execução), Chunin (persistência)

Diagramas de Arquitetura com Anime.png