Diogo Besson :: tecnologia

MVC

MVC. Model, View, Controller. Os diversos conceitos sobre o que é o que dentro das boas práticas de organizar seu código fonte em camadas.

Lembro que no Conaphp de 2008 surgiu uma discussão forte sobre o MVC. Quais os papeis do model, do view, do controller, etc. Acontece que dependendo da região e da cultura dos programadores, os conceitos variam.

Tem gente que coloca regra de negócio no controller, tem gente que coloca script de validação no model… Não há meios de julgar o que é certo e o que é errado, pois todas as normas (inclusive as oficiais ultra secretas – leiam-se caras pra burro – ABNT, IEEE e cia) são seguidas somente pelos profissionais que DESEJAM segui-las.

Eu penso que você deve dançar conforme a música. Se você trabalha numa empresa que segue normas rígidas, que obriga você a ler, aprender e seguir essas normas determinadas, veja essas normas como boas práticas que vão garantir com que seu trabalho não pereça após a implementação e que alguma outra pessoa vai poder realizar manutenção e adicionar novas funcionalidades ao seu sistema no futuro. Sem contar a iminente possibilidade de você ser demitido por insubordinação, desorganização e outros…

Porém, academicamente falando, um padrão mínimo deve ser seguido.

Quando se trabalha com Zend Framework, por exemplo, segue-se a seguinte referência, sem direito a discussão:

  • Model – Esta é a parte de seu aplicativo que define sua funcionalidade básica através de abstrações. Rotinas de acesso aos dados e regras de negócio poderão ser definidas aqui.
  • View – Views definem exatamente o que será apresentado ao usuário. Geralmente os controllers fornecem dados para que cada visão possa renderizar de forma humanamente inteligível àqueles que utilizam o sistema. Views irão frequentemente obter dados do usuário. Normalmente é aqui que você irá encontrar código HTML nos seus aplciativos MVC.
  • Controller – Controllers são responsáveis por manter a unidade do conjunto. Eles manipulam models, decidem qual view será apresentada para o usuário e, entre outros fatores, fornecem os dados necessários ao view para a renderização da tela dinâmica que será apresentada. Também repassam responsabilidades para outros controllers em algumas situações específicas. A maioria dos experts em MVC recomendam que os controllers sejam mantidos o mais enxuto possível.

Obviamente, há muito mais a ser dito sobre esse padrão, porém essa pouca informação já é suficiente para que qualquer desenvolvedor possa ter uma noção básica sobre a teoria do MVC no desenvolvimento de aplicativos.

O aprendizado por trás disso diz que tudo é relativo. Que os conceitos variam de um lugar para outro, porém diz também que você DEVE seguir as normas, sejam elas quais forem, quando for desenvolver utilizando o padrão MVC.

um abraço,

Diogo Besson

1 Comment

  1. Pingback: MVC : Sysmaya

Leave a Comment

O seu endereço de e-mail não será publicado.