Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cuáles son los beneficios específicos de usar DI en Android?

¿Cuáles son los beneficios o ventajas específicos de usar un marco de inyección de dependencia para Android, como Dagger , Transfuse o RoboGuice ?

Por ejemplo, ¿qué tipo de aplicaciones se beneficiarían más al usar DI? hay más de una ventaja de rendimiento, o es más en la facilidad de ampliar una aplicación, o incluso más acerca de cómo se puede probar?

Una de las razones para preguntar esto es medir si una aplicación que estoy desarrollando realmente se beneficiaría de ella o no mucho. Dado que la intención de la aplicación para ser grave en algún momento, la testabilidad y la facilidad de extensión sería grande, incluso costoso de usar (más tiempo para la configuración, la curva de aprendizaje, etc) para las primeras versiones.

¡Gracias!

One Solution collect form web for “¿Cuáles son los beneficios específicos de usar DI en Android?”

Por ejemplo, ¿qué tipo de aplicaciones se beneficiarían más al usar DI?

La inyección de dependencia (como un patrón no una biblioteca) beneficia casi todo el código.

  • Promueve el diseño de componentes modulares que exponen sólo las API necesarias para realizar una acción específica. Cuando se ven obligados a romper piezas de sus aplicaciones, hay que considerar cuánto detalle de implementación exponer, cómo se comporta la API y la visibilidad de clases y métodos.
  • Promueve abstracciones lógicas de componentes (piense: interfaces y sus implementaciones). Usted ciertamente no tiene que hacer esto, pero termina para arriba ocurriendo orgánico de todos modos más usted DI cosas.
  • Facilita la testabilidad creando un solo punto de consumo de tipo a través del cual una clase obtiene algo que necesita. ¿Necesitas intercambiar un Foo por un TestFoo ? No hay problema.

¿Hay más de una ventaja de rendimiento?

No. Las bibliotecas de inyección de dependencia existen únicamente para reducir la plantilla alrededor del patrón y aumentar la capacidad declarativa de solicitar dependencias.

¿Está más en la facilidad de extender una aplicación?

Absolutamente. Aunque nunca recomendaría usar Guice (o RoboGuice) en una aplicación de Android, la charla introductoria a Guice de Google I / O es una introducción fantástica a por qué la inyección de dependencia es importante a este respecto.

¿Más sobre cómo hacerla comprobable?

Si y no. Este es un efecto secundario feliz de la abstracción adecuada y la modularización. Prueba es una gran cosa por lo que el hecho de que la inyección de dependencia ofrece una facilidad en ella también es grande.

Di una conferencia sobre Dagger en el contexto de Android recientemente que puedes ver * o ver las diapositivas . La charla comienza con la inyección de la dependencia como patrón y después se mueve en cómo Dagger reduce el boilerplate y permite algunas características bastante frescas también.

También hice una aplicación de muestra bastante avanzada que aprovecha Dagger para casos de uso de inyección complejos que también podrían valer la pena echarle un vistazo.

* La charla no es actualmente gratuita, pero lo será en algún momento en los próximos 10 meses.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.