tutorial support para inyección for español dummies dependencias dagger2 curso con android dagger

android - support - dagger2 tutorial español



¿Cuándo usar Dagger en la aplicación de Android? (1)

Sé que Dagger es un marco de inyección de dependencias, pero aún no lo he usado en mis proyectos.

Estoy empezando un nuevo proyecto y me pregunto si Dagger es adecuado para él. Por lo que entiendo, el uso de Dagger conduce a una gran cantidad de códigos y anotaciones. Por lo tanto, no estoy seguro de que no sea una exageración para mi proyecto relativamente simple.

Un poco sobre el proyecto. Se centra en el procesamiento de imágenes y la parte principal de la funcionalidad se basa en él. Sin embargo, probablemente también tendrá un backend simple para el almacenamiento de datos.

En general, me gustaría saber algunos principios básicos que puedo usar para elegir usar Dagger para un proyecto o no.


Entendimiento básico:

Supongamos que desea probar su aplicación que trata con el servicio de tarjeta de crédito . Para fines de prueba, no debe querer acceder a un RPCCreditCardService real, ya que necesitará transacciones reales y otros elementos que no desea realizar durante el desarrollo. En ese caso, debe haber creado un servicio falso de clonación que imitará lo mismo que el servicio de tarjeta de crédito real, pero no tramita nada. Si utiliza el marco de inyección de dependencias, puede definir tareas comunes en una dependencia e inyectarla en un servicio falso y real. Minimizará la complejidad de la codificación y ayudará a que cada módulo sea independiente.

De la documentación:

Al usar el marco de inyección de dependencias, cada clase es fácil de probar. No necesita un montón de repetitivo solo para cambiar el RpcCreditCardService por un FakeCreditCardService.

La inyección de dependencia no es solo para pruebas. También facilita la creación de módulos reutilizables e intercambiables. Puede compartir el mismo AuthenticationModule en todas sus aplicaciones. Y puede ejecutar DevLoggingModule durante el desarrollo y ProdLoggingModule en producción para obtener el comportamiento correcto en cada situación.

Referencia:

Para una comprensión más detallada puede consultar esta discusión .