MVC
Em uma arquitetura MVC, temos três camadas com diferentes responsabilidades. Em qual destas camadas deveria estar a regra de negócio da aplicação? Saiba isso e muito mais nesta série.
O que é MVC?
O MVC é um padrão de projeto arquitetural que separa a aplicação em três camadas: Model, View e Controller.
Essa separação de camadas ajuda na redução de acoplamento e promove o aumento de coesão nas classes do projeto. Assim, quando o modelo MVC é utilizado, pode facilitar em muito a manutenção do código e sua reutilização em outros projetos.
O termo Padrões de Projeto ou Design Patterns descreve soluções para problemas recorrentes no desenvolvimento de sistemas de software orientados a objetos. O conceito principal do padrão MVC é utilizar uma solução já definida para separar partes distintas do projeto reduzindo suas dependências ao máximo.
A seguir, as camadas e suas responsabilidades:
-
Model
- Modela as entidades do sistema
- Manipulação com o banco de dados
-
View
- Exibe a interface de comunicação com o usuário
- Permite a interação do usuário com o sistema
-
Controller
- Se responsabiliza pelas requisições do usuário
- Responde as requisições feitas pelo usuário
- Faz a integração entre a camada Model e a camada View
Por que aprender MVC?
O aprendizado de um padrão de arquitetura de software é muito importante para o programador, pois como vimos, ele afeta a forma como o sistema vai funcionar. Um padrão de projeto pode separar um projeto em camadas, pode definir a forma como os dados serão consumidos pelo sistema e até mesmo usar padrões de código já prontos para serem implementados na solução.
Com o MVC você consegue organizar sua aplicação em camadas, o que ajuda a separar as responsabilidades, deixando a aplicação mais organizada e fácil de manter.
É importante para um programador aprender esse tipo de padrão de arquitetura, pois muitas aplicações no mercado de trabalho utilizam frameworks baseados no MVC, como:
- ASP.NET MVC escrito em C#
- Spring Framework escrito em Java e Kotlin
- Laravel escrito com PHP
Assim o conhecimento do padrão MVC é bastante requisitado nas vagas no mercado de trabalho.
Exemplo de MVC
A figura abaixo demonstra que a entrada do usuário, a modelagem do mundo externo e o feedback visual para o usuário são separados e gerenciados pelos objetos Modelo (Model), Visão (View) e Controlador (Controller).

- O usuário interage com a View (pagina/tela da aplicação)
- A View faz a requisição dos dados ao Controller
- O Controle trata a requisição feita pela View e busca os dados no Model
- O Model devolve dados os para o Controller, que trata os dados e envia para View, onde os dados são exibidos para o usuário
Saiba mais sobre MVC
O que você vai aprender sobre MVC na DevMedia
Por que aprender na DevMedia?
Estudar tecnologia na DevMedia é uma experiência única. Nossa metodologia de ensino é baseada nos seguintes pilares:
Plano de estudo orientado
Didática simples e fácil de entender
Exercícios gamificados para praticar
Suporte ao aluno 24 horas
Comunidade ativa de alunos
Encontro semanais com experts
Casos de sucesso da DevMedia
Confira outros conteúdos
Veja todos os conteúdos
1 Conquista
O Docker é um projeto de software livre para automatizar a publicação de sistemas através de contêineres.
O que é o Docker?
Primeiros passos
Hello World!
Deploy com Docker
Heroku e Amazon AWS
50 exercícios
5 conteúdos
Avançado

2 Conquistas
Teste de software consiste em uma série de processos com o objetivo de verificar a qualidade de um software.
Testes unitários
Testes funcionais
Testes de integração
Testes de performance
Testes de segurança
50 exerícios
27 conteúdos
Avançado

5 Conquistas
O Scrum é um framework estrutural para gestão de projetos com o foco no produto final.
Product Owner
Scrum Master
Time
Backlog
Kanban
50 exercícios
25 conteúdos
Intermediário

1 Conquista
Git é um Sistema de Controle de Versão que nos permite controlar as mudanças ocorridas em arquivos de forma segura.
Controle de Versão com Git
Comandos do Git
Github
Medindo a evolução do código
Controlando projetos de software
100 exercícios
7 conteúdos
Avançado

2 Conquistas
Unified Modeling Language é uma linguagem de modelagem padrão para descrever/documentar projetos de software.
Diagramas da UML
Diagramas de caso de uso
Diagramas de Classes
Diagramas de sequência
50 Exercícios
9 Conteúdos
Iniciante

2 Conquistas
O levantamento de requisitos está ligado diretamente a qualidade do software.
Requisitos funcionais e não funcionais
Ferramentas
Ferramentas
OSRMT
Kanban
50 exercícios
14 conteúdos
Avançado