Diferença entre MVC e MVP Diferença entre

Anonim

MVC vs MVP

Model View Controller (também conhecido como MVC) é um padrão de natureza arquitetônica usado especificamente em engenharia de software. Este padrão particular é usado para isolar o que é conhecido como 'lógica de domínio' - que é simplesmente a lógica de um aplicativo para o usuário. É isolado a partir da entrada e apresentação (conhecida como GUI), e permite o desenvolvimento independente.

Model View Presenter (também conhecido como MVP) é uma permutação direta do MVC. É um padrão de software (mais especificamente, um padrão de design de interface de usuário) projetado especificamente para auxiliar o teste de unidades automatizadas e melhorar o que é conhecido como a separação de preocupações na lógica de apresentação. A separação de preocupações é basicamente um processo pelo qual um programa de computador é separado em características distintas que não se sobrepõem, em termos de como eles funcionam.

A parte modelo do MVC é essencialmente um padrão que representa dados através de domínios específicos os dados usados ​​para permitir que o aplicativo funcione. A parte da vista transforma o modelo em uma interação adequada para usuários - geralmente é um elemento de interface do usuário. Finalmente, a parte do controlador mais apropriadamente recebe a entrada. Ao tomar decisões pelos objetos encontrados no modelo, o controlador serve como catalisador para a resposta.

A parte do modelo do MVP define os dados a serem exibidos (ou atuados) na interface do usuário. A parte da vista exibe os dados definidos no modelo e envia os comandos solicitados pelo usuário (conhecidos como eventos) ao apresentador (quem atuará sobre esses dados). O apresentador, então, atua no modelo e na visão do modelo. Como tal, é capaz de recuperar dados dos repositórios (encontrados no modelo), continuar os dados e formatá-lo, para que ele seja facilmente exibido na visualização.

Existem diferentes variantes do MVC. Como tal, o fluxo do controle está em uma ordem muito rígida: primeiro, o usuário irá interagir com a interface (pressionando um botão no mouse, por exemplo), e então o controlador cuida do evento de entrada e o muda para a ação apropriada do usuário. Em seguida, o controlador notifica o modelo do que o usuário fez, o que provavelmente resultará no modelo que altera seu estado (como uma atualização, por exemplo). A vista coloca uma pergunta ao modelo para gerar a interface do usuário. Finalmente, a interface do usuário aguarda instruções que irão reiniciar o ciclo.

Resumo:

1. O MVC é um padrão arquitetônico que isola a lógica do domínio; MVP é um descendente do MVC projetado para ajudar a testar unidades automatizadas e melhorar a separação de preocupações.

2. No que diz respeito ao MVC, o modelo representa os dados, a vista transforma o modelo em uma interação amigável ao usuário, e o controlador recebe a entrada; Em relação ao MVP, o modelo define os dados, a exibição o exibe e o apresentador atua no modelo e sua visão.