vista presentador patron mvc modelo ejemplo diseño caracteristicas android architecture software-design viper-architecture

android - presentador - ¿Cómo entender la arquitectura limpia VIPER?



presentador android (4)

Básicamente, el desarrollador utiliza la arquitectura MVC, MVP o MVVM para el desarrollo según el requisito. Es importante la arquitectura que elija para desarrollar la aplicación. Muchos factores que afectan la selección de la arquitectura del software, como los diseños de sistemas, los requisitos, los plazos, etc.

En la arquitectura Viper, cada bloque corresponde a un objeto con tareas, entradas y salidas específicas. Es muy similar a los trabajadores en una línea de ensamblaje: una vez que el trabajador completa su trabajo en un objeto, el objeto pasa al siguiente trabajador, hasta que se termina el producto.

V (Vista) : View es responsable de las actualizaciones de la interfaz de usuario y muestra lo que el presentador le diga.

I (Interactor) : El Interactor es responsable de obtener datos de la capa del modelo, y su implementación es totalmente independiente de la interfaz de usuario. Toda la lógica de negocios está escrita dentro del Interactor. Por ejemplo, llamada de API de datos de usuario escrita en el Interactor.

P (Presentador) : el rol de presentador como intermediario obtiene datos de la interacción y pasa a Ver. (Puede ser datos o cualquier acción del usuario)

E (Entidad) : Básicamente contiene el Modelo de objetos que utiliza Interactor. Por ejemplo, estudiante, amigo, universidad, etc.

R (Router) : Contiene lógica de navegación para la aplicación. Por ejemplo, la siguiente acción del botón muestra la segunda pantalla.

Además, he usado el PROTOCOLO, que contiene todas las reglas y el flujo de trabajo para el módulo particular de la aplicación. En iOS, todos los protocolos están escritos en el archivo swift de protocolo separado para cada módulo.

Beneficios:

-Todos los módulos son independientes, por lo que VIPER es realmente bueno para equipos grandes.

- Hace que el código fuente sea más limpio, más compacto y reutilizable.

-Es más fácil adoptar TDD (Test Driven Development)

-Usted puede agregar fácilmente nuevas características a la aplicación existente sin cambiar otros módulos posiblemente.

-Puede aplicarse principios solidos.

-Reducido número de conflictos de fusión.

-Facilita la escritura de pruebas automatizadas ya que su lógica de UI está separada de la lógica de negocios

Referencia: https://medium.com/@javedmultani16/viper-architecture-viper-64f6cd91e6ec

Recientemente descubrí la arquitectura limpia de VIPER y comencé a buscar ejemplos de tutoriales sobre la aplicación de esta arquitectura en la plataforma Android. Sin embargo, lo que solo encontré fueron ejemplos de proyectos que me confundían, por eso quiero seguir un ejemplo sencillo para comprender los principios básicos de VIPER. Me pregunto si alguien puede compartir algunos buenos tutoriales sobre lo anterior.


En resumen, todo se trata de la arquitectura limpia , como lo describe el tío Bob.

Una abreviatura de VIPER comúnmente utilizada en el mundo iOS, Android world usa el nombre original Clean Architecture

VIPER es una arquitectura de arquitectura limpia para aplicaciones iOS . La palabra VIPER es un backronym para View, Interactor, Presenter, Entity y Routing.

La forma limpia de Fernando Cejas para aplicaciones de Android . La idea es simple: la arquitectura limpia representa un grupo de prácticas.

Te recomendaría leer la serie de artículos para Android de Fernando Cejas:

Allí puedes encontrar un repositorio git con problemas y discusiones.


Hay un artículo largo y bueno sobre los principios básicos de VIPER en Android. Básicamente, hable acerca de cómo los principios tomados de la arquitectura limpia del tío Bob se implementaron primero en iOS y cómo se implementa en Android.

http://luboganev.github.io/blog/clean-architecture-pt1/

Consta de 5 partes. Esperemos que te proporcione los principios básicos y el tutorial de VIPER.


Puede mirar en uno de mis blogs que está escrito en la implementación introductoria del patrón de diseño VIPER . También puedes encontrar el código here