Buscar

Artigo MVC

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Qualidade em projetos utilizando pratica MVC
Pedro Antônio Magnus Bertucci1, Adriana Bueno da Silva2,Vinícius Magnus²
1Acadêmico do Curso de Curso de Sistemas de Informação/Análise e Desenvolvimento de Sistemas – Universidade Luterana do Brasil (ULBRA) Campus Torres - RS
2Professor(a) dos Cursos de Computação – Universidade Luterana do Brasil (ULBRA) Campus Torres – RS
	 
 
pedro.antonio@ulbra.inf.br, adriana.bueno@ulbra.br, vinicius.magnus @ulbra.edu;br
Abstract. This article describes the MVC design pattern, how it came to be, how it was created because it was created in the programming branch of this design pattern.
Resumo. Este artigo descreve o padrão de projeto MVC, como surgiu, como foi criado o porque foi criado o que ajudou no ramo de programação esse padrão de projeto.
1. Introdução
Nas décadas anteriores, um software era desenvolvido para rodar em uma única máquina este aplicativo possui apenas uma camada, nestas aplicações era gerada uma grande quantidade de códigos fonte, os eventos dos usuários, á lógica de negócios e os acessos á dados estavam presentes nesta camada, dificultando e muito a programação e a manutenção deste software. Estas aplicações receberam o nome de aplicação monolítica. A partir deste modelo, surgiu á necessidade de criar outra camada especial para o acesso á dados estas passaram a ser chamada de aplicações em duas camadas, onde a camada de acesso a dados ficava em uma máquina específica e o software era instalado do lado cliente contendo a lógica de negócio e a interface com o usuário.
 	Logo após surgiu a aplicação em n camadas, como o objetivo de separar a interface com o usuário, a lógica de negócios e o acesso ao banco de dados, possibilitando que vários usuários interajam com o sistema sem ter necessidade de instalá-las em suas máquinas, tornando o software mais flexível, possibilitando que cada camada seja acessada e modificada individualmente sem ter que modificar outras partes do software.
 	Inúmeros problemas podem surgir na construção de sistemas que contiverem mistura de código de acesso a dados junto com a lógica de negócios e a apresentação, essas aplicações são difíceis de manter, pois qualquer alteração que se faça é preciso ter cuidado para não afetar outras partes do sistema.
 	Diante desse motivo surgiu na década de 70 uma arquitetura que foi desenvolvida para ser usada em projetos de interface visual na linguagem de programação Smalltalk, á esta arquitetura recebeu o nome de MVC (Model, View, Controller), que é um padrão arquitetural, o MVC ajuda na tarefa de separar as responsabilidades promovendo um baixo acoplamento e alta coesão, tornando o sistema escalável. 
2.Padrões de Projetos
 Bom padrões de projetos é uma solução geral para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software. Um padrão de projeto não é um projeto finalizado que pode ser diretamente transformado em código fonte ou de máquina, ele é uma descrição ou modelo (template) de como resolver um problema que pode ser usado em muitas situações diferentes. Padrões são melhores práticas formalizadas que o programador pode usar para resolver problemas comuns quando projetar uma aplicação ou sistema. 
 Padrões de projeto orientados a objeto normalmente mostram relacionamentos e interações entre classe ou objetos, sem especificar as classes ou objetos da aplicação final que estão envolvidas. Padrões que implicam orientação a objetos ou estado mutável mais geral, não são tão aplicáveis em linguagens de programação funcional.
já descrevemos da view e do modelo, mas, temos de concordar que tudo isso se tornaria uma bagunça se tivesse alguém para organizar esta arquitetura, um controlador funciona de intermediário entre a camada de apresentação e a camada de negócios, sua função como já diz é controlar coordenar o envio de requisições feitas entre a visão e o modelo. O controller define o comportamento da aplicação, o controle é quem interpreta as solicitações (cliques, seleções de menus) feitas por usuários com bases nestes requerimentos o controlador comunica-se com o modelo que selecionar a view e atualiza-a para o usuário, ou seja, o controlador controla e mapeia as ações.
3. Arquitetura MVC: A arquitetura MVC foi desenvolvida para ser usado em projetos de interface visual em Smalltalk, linguagem de programação que juntamente com o C++ ganhou grande reconhecimento na época, o MVC foi criado na década de 70, e após esses anos de sua criação ainda é um pattern aplicável nas mais variadas aplicações, principalmente em aplicações web.
 	O gerenciamento da interface com o usuário é uma tarefa difícil para os desenvolvedores, porém fundamental para o sucesso do sistema, além da dificuldade, a complexidade na confirmação dos dados onde necessitamos apresentar ao usuário de forma correta e ainda gerenciar a aplicação para os usuários possam controlá-las apropriadamente, é fundamental que as interfaces e o controlador estejam sincronizados.
 	Há uma maneira simples de entender o MVC uma vez que, o definimos como um padrão de arquitetura, MVC é o mesmo entendimento de um design pattern: primeiro entendemos o problema (que é a motivação para o surgimento de um padrão), e após entender como este padrão resolve este problemas, e quais as vantagens que ele nos oferece, mas com isso é necessário seguir a risca o MVC.
3.1: Objetivo da Arquitetura MVC
	MVC é composto por três tipos de objetos. O modelo é o objeto de aplicação, a vista é a apresentação na tela e o controlador define a maneira como a interface do usuário reage às entradas do mesmo. Antes do MVC, os projetos de interface para o usuário tendiam em agrupar esses objetos. MVC para aumentar a flexibilidade e a reutilização.
 O MVC tem como principal objetivo: separar dados ou lógicos de negócios (model) da interface do usuário (view) e o fluxo da aplicação (controller), a idéia é permitir que uma mensagem da lógica de negócios possa ser acessada e visualizada através de várias interfaces na arquitetura MVC.
3.2: Características da Arquitetura MVC
Model: O Model ou modelo é a camada que contém a lógica da aplicação, é responsável pelas regras de negócio, para sistemas persistentes, o modelo representa a informação (dados) dos formulários e as regras SQL para manipular dados do banco, o modelo mantém o estado persistente do negócio e fornece ao controlador a capacidade de acessar as funcionalidades da aplicação, o modelo é o principal responsável toda aplicação deve representar o modelo atua isoladamente não tem conhecimento de quais serão a ou as interfaces que terá de atualizar, o modelo somente acessa á base de dados e deixa os dados prontos para o controlador este por sua vez encaminha para a visão correta.
View: View ou visão é a camada de apresentação com usuário, é a interface que proporcionará á entrada de dados e a visualização de respostas geradas, nas aplicações web é representado pelo HTML que é mostrado pelo browser, geralmente a visão contém formulários, tabelas, menus e botões para entrada e saída de dados. A visão deve garantir que sua apresentação reflita o estado do modelo, quando os dados do modelo mudam, o modelo notifica as vistas que dependem dele, cada vista tem a chance de atualizar-se. Desta maneira permite ligar muitas vistas a um modelo podendo fornecer diferentes apresentações, essa camada não contém códigos relacionados á lógica de negócios, ou seja, todo o processamento é feito pelo Modelo e este repassa para a visão, evidenciaremos abaixo um exemplo de duas vistas atuando sobre o mesmo modelo.
Controller: Controller já descrevemos da view e do modelo, mas, temos de concordar que tudo isso se tornaria uma bagunça se tivesse alguém para organizar esta arquitetura, um controlador funciona de intermediário entre a camada de apresentação e a camada de negócios, sua função como já diz é controlar coordenar o envio de requisiçõesfeitas entre a visão e o modelo. O controller define o comportamento da aplicação, o controle é quem interpreta as solicitações (cliques, seleções de menus) feitas por usuários com bases nestes requerimentos o controlador comunica-se com o modelo que selecionar a view e atualiza-a para o usuário, ou seja, o controlador controla e mapeia as ações.
4. ISO 15504: 
	A ISO/IEC 15504 é a norma que define uma série de atividades para avaliar e melhorar processos de software e tem como objetivo determinar o nível de capacidade dos processos de uma organização. Podemos ver que no MVC seria uma boa prática de processo de desenvolvimento de software.
5. CMMI: 
O modelo CMMI como ferramenta no gerenciamento de projetos de Software é o que há de mais completo quando o assunto é qualidade de software.
O CMMI possui duas representações: "contínua" ou "por estágios". Estas representações permitem a organização utilizar diferentes caminhos para a melhoria de acordo com seu interesse.
Representação Contínua Possibilita a organização utilizar a ordem de melhoria que melhor atender os objetivos de negócio da empresa. É caracterizado por Níveis de Capacidade e
 Representação Por Estágios Disponibiliza uma seqüência pré-determinada para melhoria baseada em estágios que não deve ser desconsiderada, pois cada estágio serve de base para o próximo. É caracterizado por níveis de maturidade.
6: Casos de Sucesso: 
	Codeigniter: CodeIgniter é baseado no padrão de desenvolvimento Model-View-Controller. O MVC é uma abordagem de software que separa a lógica da aplicação da apresentação. Na prática, permite que suas páginas da Web contendo scripts mínimos, uma vez que a apresentação é separada do script PHP.O CodeIgniter possui uma abordagem bastante flexível para o MVC, uma vez que os modelos não são necessários. Se você não precisa da separação adicionada ou achar que a manutenção de modelos requer mais complexidade do que você deseja, você pode ignorá-los e criar seu aplicativo minimamente usando Controllers e Views.
	Laravel: Laravel é um Framework PHP utilizado para o desenvolvimento web, que utiliza a arquitetura MVC e tem como principal característica ajudar a desenvolver aplicações seguras e performáticas de forma rápida, com código limpo e simples, já que ele incentiva o uso de boas práticas de programação e utiliza o padrão PSR-2 como guia para estilo de escrita do código.
	Asp.net: O ASP.NET MVC oferece uma maneira poderosa e baseada em padrões para criar sites dinâmicos que permitem uma separação limpa de preocupações e que lhe dá controle total sobre a marcação para um desenvolvimento agradável e ágil. O ASP.NET MVC inclui muitos recursos que permitem um desenvolvimento rápido e amigável para TDD para criar aplicativos sofisticados que usam os padrões da web mais recentes.
	Spring: Um dos Frameworks mais famosos no mundo da programação em java, Spring é um framework para desenvolvimento web que utiliza o padrão de arquitetura MVC.
6. Conclusão: 
Levando-se em consideração esses aspectos desse artigo, podemos ver que MVC é uma boa prática para fazer a arquitetura do seu projeto em si, boas referências foram citadas, entretanto inúmeras áreas pode ser utilizada essa boa prática, como desenvolvimento, web, desktop e mobile. 
5.Bibliografia e Referências: 
Tables,A final o'que é MVC. <https://tableless.com.br/mvc-afinal-e-o-que/> Acesso 8 de junho as 20:12 horas;
Dev Midia, Introdução ao Laravel. <http://www.devmedia.com.br/introducao-ao-laravel-
framework-php/33173> Acesso 10 de Junho ás 11:30 horas.
Caelum, apostila Java desenvolvimento web. <https://www.caelum.com.br/apostila-java-web/spring-mvc/#11-1-porque-precisamos-de-frameworks-mvc> acesso: 10 de Junho às 14:03 horas. 
CodeIgniter, Docs, CodeIgniter Overview <https://www.codeigniter.com/user_guide
/overview/mvc.html> Acesso: 10 de Junho as 15:15 horas;
ASP.NET, Learn About asp.net mvc 
<https://www.asp.net/mvc> Acesso 10 de Junho as 15:42 horas;Introdução ao Laravel Framework PHP

Outros materiais