João Batista Neto 448 Denunciar post Postado Janeiro 2, 2010 Constantemente ouvimos falar de MVC, mas o que de fato é MVC ? Se você respondeu que MVC é model-view-controller, um ponto para você, afinal, é uma tradução literal. Mas na verdade, MVC é muito mais que um acrônimo, MVC é um padrão de arquitetura que descreve como três camadas de desenvolvimento relacionam entre si. Martin Fowler, em seu livro P of EAA descreve MVC da seguinte forma: Muitos já devem ter visto esse diagrama antes, mas, o que ele realmente significa ? Quando estamos diante de uma interface de usuário de uma aplicação, temos uma série de ferramentas para interagir com a aplicação, é através dessa interface que podemos listar informações, excluir ou adicionar novos dados; Porém, é equivocado dizer que a interface de usuário é a definição da View, durante o desenvolvimento de uma aplicação poderão ocorrer situações onde uma aplicação não se destina ao usuário final, mas a uma outra aplicação na forma de API, então, se a UI não é a View, o que é a View ? View: A view é a organização lógica da Model de uma aplicação de forma que as informações possam ser compreendidos por uma entidade. Bom, se a View é a organização da Model, o que é a Model ? Sempre que temos um conjunto de dados em algum mecanismo de armazenamento (não necessariamente banco de dados), utilizamos uma camada específica para recuperá-los. O padrão MVC surgiu por volta de 1970 para resolver um problema sério da época. Antes, as aplicações eram instaladas individualmente máquina por máquina, isso significa que em uma rede com 500 máquinas eram necessárias 500 instalações com bancos de dados individuais. Como cada máquina tinha seu próprio banco de dados, nenhuma instância da aplicação era capaz de ter as informações necessárias de outras máquinas em tempo real. Para solucionar esse problema, as aplicações foram divididas inicialmente em duas camadas onde, um servidor central seria responsável pelo banco de dados e todas as máquinas compartilhariam os mesmos dados. Agora, imagine que, logo após essas instalações, uma nova realidade de mercado ocasionasse em uma adaptação da forma como os dados eram inseridos ou recuperados da aplicação, 500 atualizações eram necessárias e o custo disso era enorme. Para solucionar esse problema, surgiu o padrão MVC onde as máquinas eram responsáveis apenas por renderizar os dados e, através de um servidor de aplicação, toda a lógica do negócio poderia ser compartilhada e o acesso a dados seria abstraído. Bom, voltando a 2010, o padrão MVC descreve três camadas, a Model trabalha com os dados, a View representa os dados de forma lógica e a Controller ? Controller: Para que uma informação seja exibida pela View é necessário que antes exista uma requisição, seja ela implícita ou explícita. Sempre que uma requisição é feita, um controlador de aplicação intercepta essa requisição, verifica se é válida e responde com uma View apropriada, seja na forma de mensagem de erro ou com um conjunto de dados vindos da Model. Implementando MVC: Para ilustrar MVC vamos desenvolver uma aplicação para colunistas que conterá: Sistema de cadastro onde cada usuário será um colunista que poderá inserir novos artigos, editar seus próprios artigos e ler outros artigos. Sistema de Busca, por colunistas e artigos. Esse tutorial foi dividido em 4 tópicos, essa introdução e outros 3 que falam cada um exclusivamente de uma camada. O Tópico que trata sobre a Model está disponível em: O Que é MVC - A Model Falando sobre a View: Quinta-feira, 7 de Janeiro Falando sobre a Controller: Sábado, 9 de Janeiro Caso algum tópico fique complexo demais ou alguém tenha alguma dúvida, poste-a no tópico referente a dúvida, para que assim possamos contextualizar e sanar qualquer dúvida que qualquer um possa vir a ter. Espero que gostem. ;) Referências: http://pt.wikipedia.org/wiki/MVC http://www.martinfow...Controller.html Compartilhar este post Link para o post Compartilhar em outros sites
lucaswxp 22 Denunciar post Postado Janeiro 6, 2010 Muito bom João Batista =) Falando do seu padrão preferido né.... heheh zuera =P Estes tutos prometem :) Compartilhar este post Link para o post Compartilhar em outros sites
Will Fernando 2 Denunciar post Postado Janeiro 6, 2010 parabens pela iniciativa :) joao mostrando ser um grande colaborador do forum ! valww =] Compartilhar este post Link para o post Compartilhar em outros sites
Mário Miranda 0 Denunciar post Postado Janeiro 6, 2010 Muito legal e de grande valia. À alguns dias mesmo eu estava buscando detalhes sobre o MVC mas pra ser sincero não tive ajuda no que encontrei, ao contrario do que você postou que está bem explicativo. Parabéns. Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Janeiro 6, 2010 Falando do seu padrão preferido né.... parabens pela iniciativa :D Apenas não deixem de ler os tópicos sobre as camadas, esse é só uma introdução. A Model está em: http://forum.imasters.com.br/index.php?/topic/377063-o-que-e-mvc-a-model/ Compartilhar este post Link para o post Compartilhar em outros sites
Mário Miranda 0 Denunciar post Postado Janeiro 6, 2010 Como eu estou no trabalho, salvei o tópico no pen drive e vou estudar em casa (parece mentira, mas banda larga no meu bairro é apenas lenda, e eu não moro longe do centro). http://forum.imasters.com.br/public/style_emoticons/default/natal_sad.gif Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo Diniz 0 Denunciar post Postado Janeiro 7, 2010 João, parabéns mesmo pela sua iniciativa. Vou estar acompanhando os outros 3 tópicos, mas não vejo a hora de chegar o último, pois assim pode ser que eu entenda um pouco mais de MVC e não só ouvir e ouvir falar sobre. Claro, eu até imagino que seja algo um tanto mais complexo, mas para quem esta iniciando na parte de POO imagino que seja uma ótima oportunidade de aprender mais, e para quem esta iniciando com programação, melhor ainda, assim já pode começar a ver as melhores práticas. []'s Compartilhar este post Link para o post Compartilhar em outros sites
daldegam 0 Denunciar post Postado Abril 29, 2010 Depois atualiza seu post principal com os links do View e Controller A busca do forum acha muita coisa quando manda procurar ;] Abraços! Sucesso! Compartilhar este post Link para o post Compartilhar em outros sites
JpPm 0 Denunciar post Postado Maio 30, 2012 Muito bom, O link da model que está na pagina esta off, achei o link diretamente na pesquisa, Segue pra quem quizer conferir: A Model Compartilhar este post Link para o post Compartilhar em outros sites