Qual é a diferença entre MVP e arquitetura limpa


Respostas:


15

O que Bob Martin chamou de " Arquitetura Limpa " é mais uma "meta-arquitetura", uma diretriz de alto nível para a criação de arquiteturas em camadas. Não diz nada como

"Deve haver uma camada Modelo, uma camada Visualização e uma camada Apresentação, e elas devem ser implementadas usando o MVP ",

ele contém apenas regras mais gerais para as camadas como "dependências devem ir dos círculos externos para os círculos internos, e não vice-versa" . E como no MVP, o View (= UI) pode conhecer o Presenter, mas o Presenter é dissociado do View por uma interface, o MVP é apenas uma das muitas soluções possíveis que atendem a essa regra.

Obviamente, é possível usar o MVP dentro de um sistema "Arquitetura Limpa", mas essa não é a única abordagem correta. Qualquer design de interface do usuário em que as "camadas internas" não saibam nada de especial sobre a interface do usuário, e onde a interface do usuário siga também as outras regras de "Arquitetura Limpa" descritas no artigo de Bob Martin, tudo bem.


se eu seguir o padrão MVP, é garantido que não violei as regras da arquitetura limpa?
Mehrdad Shokri 24/11

1
@Mehrdad: não. O MVP apenas ajuda você a acertar a "Regra de Dependência", e apenas entre as camadas View & Presenter, bem como entre o Presenter e Model, nem menos, nem mais. Você ainda precisa cuidar de todas as outras coisas descritas no artigo de Bob Martin. Por exemplo, o MVP por si só não impede ninguém de passar estruturas de dados complexas entre camadas (em oposição às estruturas de dados simples mencionadas nesse artigo, que devem ser usadas para ultrapassar limites).
Doc Brown
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.