Atenção: esse artigo tem uma palestra complementar. Clique e assista!

Do que se trata o artigo

O objetivo deste artigo é apresentar ao leitor de forma teórica e prática as aplicações do conceito MVP (Model View Presenter), como uma nova forma de estruturar aplicações com camadas desacopladas.


Para que serve

O conceito de MVP é uma extensão do MVC, que possibilita um menor acoplamento entre a camada de apresentação e as demais camadas. Através deste artigo, o leitor será capaz de implementar uma aplicação levando em consideração o conceito apresentado.


Em que situação o tema é útil

Todos os dias estudamos e buscamos novas formas e novos conceitos para desenvolvermos as aplicações. MVP vem como mais um importante padrão de arquitetura, agregando novos conceitos ao leque de opções já disponíveis aos desenvolvedores e projetistas.

Resumo do DevMan

MVP como padrão direcionado ao desacoplamento da camada de apresentação das demais lógicas promete ser a bola da vez. Entenda como esse padrão de arquitetura funciona e como implementá-lo de forma simples e rápida.

O conceito de padrões de projetos foi criado na década de 70 pelo arquiteto Christopher Alexander direcionado para á área de construção civil e urbanismo. Em seu livro: Notes on the Synthesis of Form, The Timeless Way of Building e A Pattern Language, ele estabeleceu uma série de características e o formato que a descrição de um padrão deve possuir.

Depois, em 1987 a partir dos conceitos criados e definidos por Alexander, Kent Beck e Ward Cunningham, dois programadores propuseram os primeiros padrões para a área de ciências da computação em uma conferência, para a construção de janelas na linguagem Smalltalk.

Assim que a ideia ganhou popularidade, um primeiro livro (Design Patterns: Elements of Reusable Object-Oriented Software) foi lançado em 1995 por quatro autores que foram reconhecidos por essa primeira grande publicação. Ficaram conhecidos como “A gangue dos quatro” (Gang of Four) ou simplesmente por “GoF”.

Todos os dias nos deparamos com uma série de problemas relacionados ao grau de complexidade das aplicações e sistemas que desenvolvemos, tornando a busca por um padrão (seja de codificação ou arquitetura) algo cada vez mais distante.

Um padrão de projeto é uma solução para um ou mais problemas que alguém um dia teve e o resolveu aplicando um modelo que foi documentado e que pode ser reaplicado e/ou adaptado integralmente ou de acordo com necessidade da solução.

Assim sendo, não há (até agora) um padrão mágico que irá resolver todos os problemas que enfrentamos em todas as situações, mas sim “fórmulas”, que podem ser seguidas e/ou aplicadas em diferentes situações, que podem ser mescladas com outras “fórmulas” dando origem a padrões de arquitetura de softwares.

Comparando MVC e MVP

MVC (Model-View-Controller) é um padrão de arquitetura criado com o objetivo básico de facilitar a construção e manutenção de softwares separando a(s) camada(s) de dados da(s) camada(s) de visualização. Notem que os termos no plural se devem ao fato de que uma arquitetura MVC pode possuir de três a “n” camadas. O padrão MVC diz como as camadas da aplicação interagem entre si e não como devem ser separadas (Figura 1).

Figura 1. Fluxo de interações entre as camadas do MVC

Essas camadas são:

· Model – Camada contendo a regra de negócio e representa o domínio da aplicação;

...
Quer ler esse conteúdo completo? Tenha acesso completo