¿Cuál es la diferencia entre MVP y arquitectura limpia?


Respuestas:


15

Lo que Bob Martin llamó " Arquitectura limpia " es más una "metaarquitectura", una guía de alto nivel para crear arquitecturas en capas. No dice nada como

"Debe haber una capa de Modelo, una capa de Vista y una capa de Presentación, y deben implementarse usando MVP ",

contiene solo reglas más generales para las capas como "las dependencias deben ir desde los círculos exteriores a los círculos internos, no viceversa" . Y dado que en MVP, la Vista (= UI) puede conocer al Presentador, pero el Presentador está desacoplado de la Vista por una interfaz, MVP es solo una de las muchas soluciones posibles que cumple con esta regla.

Por supuesto, uno puede usar MVP dentro de un sistema de "Arquitectura limpia", pero este no es el único enfoque correcto. Cualquier diseño de interfaz de usuario donde las "capas internas" no sepan nada especial sobre la interfaz de usuario, y donde la interfaz de usuario siga también las otras reglas de "Arquitectura limpia" descritas en el artículo de Bob Martin estará bien.


si sigo el patrón MVP, ¿se garantiza que no violé las reglas de arquitectura limpia?
Mehrdad Shokri

1
@Mehrdad: no. MVP solo lo ayuda a obtener la "Regla de dependencia" correcta, y solo entre las capas View & Presenter, así como entre Presenter y Model, nada menos y nada más. Todavía tiene que preocuparse por todas las otras cosas descritas en el artículo de Bob Martin. Por ejemplo, MVP por sí solo no impide que nadie pase estructuras de datos complejas entre capas (a diferencia de las estructuras de datos simples mencionadas en ese artículo que deberían usarse para cruzar límites).
Doc Brown
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.