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
<Perguntas frequentes>
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