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 |
Ninja.java (com @Entity)| 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) |
