UMA AVALIAÇÃO SOBRE O PADRÃO ARQUITETURAL MODEL-VIEW-VIEWMODEL PARA A CONSTRUÇÃO DE SOFTWARES CLIENTE-SERVIDOR
Monografias: UMA AVALIAÇÃO SOBRE O PADRÃO ARQUITETURAL MODEL-VIEW-VIEWMODEL PARA A CONSTRUÇÃO DE SOFTWARES CLIENTE-SERVIDOR. Pesquise 862.000+ trabalhos acadêmicosPor: Helderpacheco • 18/9/2013 • 5.540 Palavras (23 Páginas) • 975 Visualizações
SUMÁRIO
1 INTRODUÇÃO 12
1.1 MOTIVAÇÃO 13
1.2 OBJETIVOS 13
1.2.1 OBJETIVOS GERAIS 13
1.2.2 OBJETIVOS ESPECÍFICOS 14
1.3 METODOLOGIA 14
1.4 ESTRUTURA DO TRABALHO 14
2 OS PADRÕES ARQUITETURAIS AO LONGO DOS ANOS 15
2.1 MVC 17
2.2 MVP 19
3 UMA NOVA MANEIRA DE CONSTRUIR APLICAÇÕES
EM CAMADAS – MODEL-VIEW-VIEWMODEL (MVVM) 21
3.1 ENTENDENDO MELHOR A ARQUITETURA 22
4.2 ACOPLAMENTO E COESÃO DENTRO DO MODELO MVVM 27
4 ANÁLISE DAS DIFERENCAS ENTRE OS PADRÕES MVC,
MVP E MVVM 29
4.1 MAS QUANDO E QUAL PADRÃO ARQUITETURAL
UTILIZAR? 32
5 TECNOLOGIAS QUE ADERIRAM AO PADRÃO MVVM 33
6 CONCLUSÃO 34
7 REFERÊNCIAS 36
1 INTRODUÇÃO
Ao longo dos anos e seguindo as evoluções dos softwares que passaram a demandar maior controle dos dados, os padrões arquiteturais de construção de softwares se desenvolveram na tentativa de minimizar as complexidades das aplicações. As antigas aplicações monolíticas que continham todas as funcionalidades de um sistema em um único módulo, começaram a ser encaradas como deficientes e, com o surgimento da necessidade de compartilhar a lógica de se acessar os dados por vários usuários e de forma simultânea, surgiu o processo de evolução dos padrões arquiteturais que permitiu o desdobramento das aplicações em camadas. As aplicações podiam ser vistas sob uma estrutura que continha a lógica de apresentação e a lógica de negócios separadas do acesso aos dados.
Com o surgimento e o crescimento da internet, os sistemas de duas camadas perderam força, pela justificativa de se permitir que vários usuários acessassem as mesmas aplicações sem a necessidade de se instalar em suas máquinas o aplicativo. Nesta lógica, a estrutura de camadas se desdobra criando o famoso padrão MVC (Model- View-Controller), tornando-se o padrão mais usual na criação da maioria das aplicações Web. Através do MVC, usuários e servidores de aplicações se relacionam de maneira quase independentes, no sentido de que o usuário não tem o menor conhecimento do que se passa no lado servidor (com relação às lógicas implementadas e utilizadas) e, o servidor não se preocupa em saber quem é o cliente que requisita suas informações, apenas executa tarefas que possibilitem traduzir e responder as requisições que lhe são feitas. Seguindo a mesma lógica de separação em 3 (três) camadas, o modelo MVP (Model-View-Presenter) surge com idéia de articular as dependências entre as camadas de uma forma um pouco diferente. No MVC as dependências ocorrem de forma cíclica, cabendo as camadas fazerem chamadas umas as outras, no padrão MVP as interações entre as camadas ocorre através de um mediador que interage entre as camadas realizando um fluxo de requisições/respostas entre View-Presenter, Presenter-Model.
No intuito de promover cada vez mais o desacoplamento das camadas dos padrões anteriormente definidos, a Microsoft criou o padrão Model-View-ViewModel (MVVM) com o objetivo de tornar cada vez mais as tarefas do usuário distanciadas do conhecimento da lógica de negócio das aplicações. Outro ponto interessante deste paradigma é o desmembramento completo das atividades dos designers e dos programadores. A visão da aplicação é tarefa apenas dos diagramadores das interfaces que irão interagir com os usuários, as tarefas de codificação, de manipulação dos eventos dos botões e outros componentes da visão ficam a cargo dos programadores, exclusivamente. E, esta separação da visão e dos comportamentos envolvidos foi um dos grandes avanços surgidos com a tecnologia Windows Presentation Foundation (WPF), componente também da Microsoft, utilizada em várias aplicações, para o qual o padrão MVVM tem se melhor relacionado, embora que este modelo também esteja se difundindo nas criações de aplicações RIA (Rich Internet Applications) com Silverlight.
1.1 MOTIVAÇÃO
O presente projeto tem como finalidade abranger o conhecimento sobre os modelos arquiteturais empregados na criação de aplicações para computadores. Analisando suas evoluções e características, promovendo uma comparação entre modelos específicos, contribuirão para que os alunos dos Cursos de graduação em Tecnologia em Análise e Desenvolvimento de Sistemas e de Ciências da Computação possam se aprofundar sobre as técnicas empregadas na arquitetura de sistemas, observando também as limitações e possibilidades de uso destes modelos em diferentes tecnologias de desenvolvimento de softwares.
1.2 OBJETIVOS
1.2.1 OBJETIVOS GERAIS
Realizar um estudo sobre os padrões arquiteturais ao longo do avanço da arquitetura e do desenvolvimento dos Sistemas de Informação
Fazer um levantamento histórico dos padrões arquiteturais, desde os sistemas monolíticos até as aplicações em camadas, definidas pelo padrão MVC e verificar as mudanças mais importantes entre este padrão e o padrão MVVM da Microsoft para a construção de aplicações para Web.
1.2.2 OBJETIVOS ESPECÍFICOS
Esboçar, através de um levantamento histórico, os padrões arquiteturais desde os sistemas monolíticos até as aplicações em camadas, definida pelo padrão MVC (Model-View Controller).
Descrever o padrão arquitetural MVVM (Model-View-ViewModel), sua estrutura e tecnologias incorporadas
Focalizar as diferenças entre os padrões MVC, MVP e MVVM
Analisar sobre o uso do padrão MVVM e sua continuidade em outras tecnologias diferentes das utilizadas pela Microsoft.
...