MVC
O padrão MVC (Model-View-Controller) é um estilo arquitetural baseado na divisão em camadas, que desacopla a lógica da interface, do controlador e do domínio. Esse desacoplamento resulta na separação dos objetos de domínio dos objetos de negócio.
Pontos positivos:
- Facilidade na manutenção
- Maior coesão entre os objetos de apresentação e o domínio de negócios
Pontos negativos
- O controller ainda pode acumular lógica de negócios e ficar fortemente relacionado à view, o que pode reduzir a flexibilidade e dificultar a reutilização de código
Esse modelo teve grande influência no desenvolvimento de frameworks populares, como:
- ASP.NET MVC
- JSF
- Ruby On Rails
MVVM
O MVVM (Model - View - ViewModel) é uma variação do padrão MVC, onde ocorre a separação entre a lógica de negócios e a camada de apresentação. Isso facilita o desenvolvimento, os testes e a manutenção. Assim como no MVC, o Model é responsável por armazenar dados e a lógica de negócios, enquanto a View é responsável pela interface do usuário. A diferença está no ViewModel, que atua como o "modelo de visualização", fornecendo funções, comandos e métodos para dar suporte à View.
Pontos positivos:
- Facilidade na manutenção
Pontos negativos:
- Curva de aprendizado
- Complexidade do ViewModel
Esse modelo é utilizado em frameworks, como:
- Angular
- Vue.js
- Xamarin.Forms
- WPF
MVP
O MVP (Model-View-Presenter) possui o Model, responsável pela lógica de negócios, a View, encarregada da interface de usuário, e o Presenter, que atua como mediador entre as duas partes.
Pontos positivos
- Maior simplicidade nas ações, graças ao papel central do Presenter na comunicação entre o Model e a View.
Pontos negativos
- Dificuldade na manutenção do código e alta imprevisibilidade, especialmente em projetos maiores.
Esse modelo é utilizado em frameworks como:
- Windows Forms
Top comments (2)
👏👏
Muito boa a explicação 👏