You are on page 1of 4

21/02/2018 O conceito e as dúvidas sobre o MVC

Menu   Cadastro  Login

O conceito e as dúvidas sobre o MVC

AGRADEÇA AO AUTOR
COMPARTILHE!
    

Este artigo traz uma dúvida comum entre os programadores a respeito do MVC, que na verdade acaba se tornando uma má compreensão. Neste
artigo pretendo esclarecer alguns fatos sobre o MVC e ressaltar o seu principal objetivo dentro do desenvolvimento de um sotfware. Vamos
nessa?

MVC? O que é isso?
Bom, pra começar, MVC é o acrônimo de Model-View-Controller (em português, Modelo-Visão-Controle) e que, como o próprio nome supõe, separa
as camadas de uma aplicação em diferentes níveis. Ao contrário do que muitos desenvolvedores dizem, o MVC não é um Padrão de Projeto, mas
sim um Padrão de Arquitetura de Software. Essa é uma das dúvidas que mencionei no enunciado do artigo. Na época da universidade, ouvia
muitos alunos comentarem que o “projeto do TCC foi desenvolvido utilizando o Design Pattern MVC”, sem notarem que estavam errados. Apesar do
MVC introduzir uma forma de desenvolvimento, ele não pode ser considerado um padrão de projeto, uma vez que este é especialmente
relacionado com a arquitetura do software. Lembre-se de que existem 23 padrões de projeto (Design Patterns) e o MVC não está entre eles.

Pois bem, embora existam outros padrões de arquitetura de software – como Pipeline, Blackboard, Microkernel e Re ection – o MVC é um dos mais
difundidos e utilizados pelos desenvolvedores principalmente pela funcionalidade e objetividade. O MVC de ne a divisão de uma aplicação em
três componentes: Modelo, Visão e Controle. Cada um destes componentes tem uma função especí ca e estão conectados entre si. O objetivo é
separar a arquitetura do software para facilitar a compreensão e a manutenção.

A camada de Visão é relacionada ao visual da aplicação, ou seja, as telas que serão exibidas para o usuário. Nessa camada apenas os recursos
visuais devem ser implementados, como janelas, botões e mensagens. Já a camada de Controle atua como intermediária entre as regras de
negócio (camada Modelo) e a Visão, realizando o processamento de dados informados pelo usuário e repassando-os para as outras camadas. E
por m, temos a camada de Modelo, que consiste na esseência das regras de negócio, envolvendo as classes do sistema e o acesso aos dados.
Observe que cada camada tem uma tarefa distinta dentro do software.

Explicação do conceito do MVC
Certo, mas qual é a vantagem?

https://www.profissionaisti.com.br/2014/10/o-conceito-e-as-duvidas-sobre-o-mvc/ 1/4

a nível de abstração. também me deparei com a necessidade de uma camada adicional: a camada de acesso ao banco de dados. O mesmo funcionaria para um módulo Mobile ou WebService. vamos supor que um determinado projeto tenha um módulo web para consulta de dados. pessoal. Quando desenvolvi o meu projeto na faculdade. feito casos usando MVC. responsável pela modelagem e acesso ao banco de dados ao mesmo tempo. Ao invés de revirar o código atrás do erro. conhecida como DAO (Data Access Object) ou DAL (Data Access Layer). Posso ter apenas três camadas no MVC? Eis que essa é outra dúvida bastante questionada pelos desenvolvedores. é correto a rmar que essa camada é muito importante. Fiz um curso de JAVA para Web. Um novo desenvolvedor que começar a trabalhar no projeto não terá grandes di culdades em compreender a estrutura do código. Além disso. é possível evitar que qualquer dado inconsistente chegue à camada de Modelo para persistir no banco de dados. Pra você ver. Mas essa é uma premissa particular de cada desenvolvedor. criei uma camada estendida da camada de Modelo para o acesso ao banco de dados. Aonde esse módulo se encaixaria dentro das três camadas? Bem. mas entendendo https://www. Sendo assim. Bem explicado. as exceções são mais fáceis de serem identi cadas e tratadas. nada impede que você “estenda” essas camadas para expandir a dimensão do projeto. apenas com os objetos de conexão com o banco de dados e as instruções SQL. este módulo poderia ser agrupado com os outros objetos da camada Visão. Neste caso. mas que proporcionou uma melhor organização no meu código. e que dividindo-as tornará o projeto mais compreensível. porem sai da disciplina não entendendo. Embora o MVC sugira a organização do sistema em três camadas. mas também sai não entendendo muito bem.com. achei conveniente manter as classes do projeto (modelagem) e o acesso ao banco de dados em camadas diferentes. Abraço! AGRADEÇA AO AUTOR COMPARTILHE!      ANDRÉ LUIS CELESTINO      Mais artigos deste autor » CONTEÚDOS RELACIONADOS 9 COMENTÁRIOS Luís Júnior Rodrigues Zembruski 9 de outubro de 2014 às 13:57 1 Muito boa matéria. Outro ponto importante do MVC é a segurança da transição de dados. Mas o acesso ao banco de dados não é uma função da camada de Modelo? Sim. mas seria bem mais conveniente criar uma camada exclusiva (como “Web”) estendida da camada de Visão e agrupar todos os itens relacionados a esse módulo dentro dela. Inclusive muitos pro ssionais preferem denominar a classe de Modelo como Business Object Model. Separe a implementação quando notar que a mesma camada está realizando duas ou mais tarefas diferentes. É uma camada bem simples. é. Fico por aqui.br/2014/10/o-conceito-e-as-duvidas-sobre-o-mvc/ 2/4 . pode-se dizer que o sistema ca mais organizado quando está estruturado com MVC.profissionaisti.21/02/2018 O conceito e as dúvidas sobre o MVC A princípio. Eu vi o conceito a plicação de MVC na faculdade quando aprendi POO. Através da camada de Controle. Imagine a camada de Controle como uma espécie de Firewall: o usuário entra com os dados e a camada de Controle se responsabiliza por bloquear os dados que venham a causar inconsistências no banco de dados. a explicação muda tudo. Por exemplo. também foi visto sobre MVC. Portanto. mas são unidades estendidas. essas novas camadas estariam dentro da camada de Visão. No meu caso. Mas lembre-se: um projeto com várias camadas torna-se tão confuso quanto um projeto de uma camada só. o MVC pode indicar em qual camada o erro ocorre.

com. André Luis Celestino Autor do Post 10 de outubro de 2014 às 21:53 3 Olá. Luis! Fico contente que o artigo tenha lhe trazido uma nova percepção sobre o MVC! Esse foi justamente o meu objetivo: tentar apresentar a arquitetura de forma simples e com poucas palavras. Sebastian. obrigado pelo feedback! Eu que lhe agradeço pelo comentário! Abraço! Lucas 14 de outubro de 2014 às 10:03 4 Muito interessante. Matéria muito bem escrita e didaticamente sem ressalvas. Mais uma prova de que quando o autor sabe escrever a transmissão do conhecimento faz com que “coisas complicadas se tornem fáceis”.br/2014/10/o-conceito-e-as-duvidas-sobre-o-mvc/ 3/4 . Maujor! É uma grande satisfação receber um comentário como o seu! Essa foi justamente a minha intenção ao elaborar o artigo: “descomplicar” o contexto do MVC para facilitar a assimilação. muito bom! Parabéns André Luis André Luis Celestino Autor do Post 3 de março de 2017 às 1:55 9 Obrigado. E obrigado por sanar minhas duvidas. Agora uns 2 anos após. Muito obrigado! Abraço! Itacolomy Mariano 25 de fevereiro de 2017 às 18:32 8 Sucinto e objetivo. eu sempre tive muita di culdade em entender o MVC mas com seu artigo eu conseguir ter uma boa noção. Lucas! Grande abraço! Maujor 15 de outubro de 2014 às 17:37 6 Parabéns Celestino. deu pra ver de outra forma o MVC.21/02/2018 O conceito e as dúvidas sobre o MVC um pouco mais rsrsrs. eu vejo esta matéria sobre MVC e para minha surpresa consegui entender o tal funcionamento ueahaeuhaeuh. André Luis Celestino Autor do Post 14 de outubro de 2014 às 22:03 5 Obrigado pelo comentário. Obrigado por compartilhar informação. Itacolomy! Esse é o objetivo! https://www. André Luis Celestino Autor do Post 15 de outubro de 2014 às 22:53 7 Olá. Parabens. Valeu por compartilhar.profissionaisti. Sebastian 10 de outubro de 2014 às 8:20 2 Muito bom.

profissionaisti.br/2014/10/o-conceito-e-as-duvidas-sobre-o-mvc/ 4/4 .com.21/02/2018 O conceito e as dúvidas sobre o MVC https://www.