¿Cuáles son algunos patrones de diseño comunes en el desarrollo de Android?

Desafortunadamente, estos son los patrones de diseño más comunes (no exactamente patrones de diseño, sino metodologías):

Clase de Dios : una enorme actividad o fragmento de 2000 líneas que contiene vista, lógica de negocios, lógica de base de datos, lógica de redes y otras cosas.

Código de espagueti : una enorme pila de responsabilidades mixtas, código de copiar y pegar, banderas, combinaciones de banderas, objetos globales. Todo está enredado como luces de navidad

Sin arquitectura : sin análisis de diseño por adelantado, sin modelado, simplemente sumergiéndose directamente en la escritura de grandes cantidades de código de baja calidad, el 90% del cual está contenido en algunas actividades. Sin separación de responsabilidades, sin capas, sin nada.

Este es el estado de la mayoría de las aplicaciones de Android.

Ahora, por otro lado, si encuentra un buen desarrollador profesional, encontrará patrones de diseño que también podría encontrar en una aplicación Java (refiriéndose a los patrones de diseño descritos por la pandilla de cuatro) y también encontrará Arquitectura limpia , Código limpio, MVP, principios SÓLIDOS, Inyección de dependencias es muy popular, Programación reactiva, etc.

La programación de aplicaciones de Android no se detiene. Nuevas versiones, nuevas prácticas y herramientas emergen constantemente. Los desarrolladores siempre tienen como objetivo encontrar una “piedra filosófica” mítica, una arquitectura ideal. Debe ser flexible a los cambios de lógica y diseño, y cómodo de probar al mismo tiempo. Debe ser independiente de los marcos externos, debe tener una estructura simple. Pero es posible?

En el transcurso de 2016, también un par específico de patrones de capa / diseño ha aumentado en popularidad entre los desarrolladores de Android. Hay Model View Presenter (MVP) y Model View-View Model (MVVM). No aparece de la nada, aunque muchos codificadores avanzados en sus habilidades tienden a resolver los problemas antes mencionados con estos dos enfoques.

En realidad, el patrón MVP es el sucesor de la arquitectura más antigua de Model View Controller (MVC). Crearon esto, porque había problemas con el rediseño, la modificación del código, las pruebas y una mejor interfaz de usuario. Este patrón divide el código de la aplicación en tres capas.

1. El modelo – modelos de acomodación (POJO, JavaBeans, etc.), datos de varias fuentes (base de datos, resultados del servidor, caché, sistema de archivos de Android, etc.).

2. La vista es responsable de la visualización visual de las aplicaciones, junto con la entrada de datos por parte de los usuarios. Esta parte NO debe en ningún caso procesar los datos. Su función es solo detectar la entrada (por ejemplo, tocar o deslizar) y la visualización.

3. Presentador , que se encarga de pasar los datos entre dos capas y, por lo tanto, del análisis y la interacción. Dicha división permite la sustitución de partes de código, pruebas adecuadas y conecta capas como interfaces.

La característica principal de ModelView-ViewModel radica en la conexión de datos. El patrón MVVM es un éxito en los entornos WPF, Silverlight y, a veces, JS. Con solo una pequeña pieza de código en el archivo build.gradle, puede usarlo.

El Modelo no está vinculado a la Vista, reutilizable en muchos contextos, comprende datos, herramientas para el procesamiento de datos, lógica de negocios.

The View es responsable de la visualización de datos. Transmite valores a ViewModel, cambiando así la vista de la interfaz de usuario.

ViewModel proporciona ganchos para que la Vista pase eventos al Modelo: el cambio de ViewModel cambia automáticamente la Vista, y viceversa.

Si desea leer sobre los lados fuertes y débiles, aquí hay un artículo realmente bueno MVP vs MVVM: una revisión de los patrones arquitectónicos para Android – Thinkmobiles

Para el triunfo de los desarrolladores de todo el mundo, ahora hay muchas bibliotecas que les hacen la vida más fácil. Y habilite la arquitectura adecuada para las aplicaciones de Android al mismo tiempo. Por ejemplo:

  • Enlace de datos de Android : permite la transferencia de cierta lógica de aplicación a XML ;
  • Daga 2 : que implementa la técnica de ‘Inyección de dependencias’;
  • Anotaciones de Android : biblioteca que hace que la implementación de componentes de Android sea lo más simple posible, sin reducir sus funciones;
  • RxAndroid : enfoque de codificación altamente funcional, uno que, si es totalmente detenido, puede optimizar muchas tareas;
  • Y la lista continúa.

Lea este libro electrónico gratuito en pdf. Le ayudará mucho a comprender los patrones de diseño para el desarrollo de Android.

https://s3.amazonaws.com/uxpin/u

Es la mejor literatura para ayudarlo a comprender los patrones reales a seguir para convertirse en un desarrollador de aplicaciones más profesional.

No Rocket Science solo echa un vistazo a estos patrones de diseño de interacción de Android |
y tendrás alguna idea 🙂

Patrones | Desarrolladores de Android

Bien explicado en esa página. Disfruta tu lectura.