Aplicaciones Android

Arquitectura en aplicaciones de Android (MVVM) | Daniil Pavenko | Febrero de 2021 | Medio


Buenos lectoresHoy, compartiré mis pensamientos sobre el uso de métodos arquitectónicos claros y patrones de diseño.


MVVM-Model Ver ViewModel, Ésta es una forma de asignar claramente responsabilidades entre las distintas capas.
Todo es obvio y falta parece complicado, pero por alguna razón, mucha gentío inventó la biciclo.
Me gustaría proponer una implementación en la que la interacción entre estas capas y clases debería estandarizarse hasta cierto punto.
1 * Crf71kSUQQnoM5xILTkqAg.jpeg


paisaje-Muestra el estado de nuestra pantalla. Por lo tanto, proporcionamos un ViewState para la pantalla contemporáneo para que los desarrolladores puedan relajar los atributos comunes a todas las pantallas en el futuro, por lo que es necesario crear un CoreViewState, una clase que hereda todos nuestros estados.

Ver maniquí-Parte de codificar el estado y la razonamiento de procesamiento, o gritar a otras partes de UseCase, Manager, etc., en las que ejecutamos la razonamiento en función de las operaciones del legatario o el estado de la pantalla. ViewModel además debe tener su propia clase principal CoreViewModel, que es global a la aplicación. Relación ViewModel 1..1 ViewState, como se muestra en el código de muestra a continuación, vemos que para cada ViewModel, habrá un ViewState (tomado de MVI, sin usar DataBinding).

1 * r1eFooAsLNzc_7UozrVFng.png

Al crear una plantilla de este tipo, impedimos que los desarrolladores generen múltiples estados de pantalla con diferentes clases.


Describiremos la clase cojín de la capa View. Aquí usaremos la clase Fragment para mostrar contenido. Recuerde que Fragment puede existir sin View, y en nuestro ejemplo, además usaremos ViewBinding para mostrar la implementación.

1 * 7zSsUhf0vqw1BMQys_jIWg.png

El ejemplo de BottomSheetFragment es el mismo.
La clase cojín es lo suficientemente buena.
Puede conectar su DI favorita para conectar dependencias fácilmente.
El fragmento del sucesor es muy claro de inicializar y además se declara y debe crear ViewModel y ViewState por separado.

De esta forma, he implementado múltiples aplicaciones, es muy conveniente extender, y es muy conveniente usar en combinación con Koin y Navigation Component, es claro encontrar errores y su porcentaje se reduce en normal, especialmente en el equipo. .
GitHub: un ejemplo simple

LEER  Revisión suave: lo mejor que puede obtener: ToeSoft Full Video Converter v9.0.2

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba