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


¿Puede alguien dar una buena explicación de Dagger 2?

Realmente estoy teniendo dificultades para entender el sistema de inyección Dagger 2 Dependency.

Entiendo el uso de la anotación @Inject para decirle a Dagger que necesitamos proporcionar una instancia de algún tipo aquí.

Pero, no entiendo los diversos papeles de los otros componentes tales como: @Module , @Component , @Provides y cómo trabajan juntos para proporcionar la instancia apropiada a la dependencia apropiada.

¿Puede alguien explicarla de forma sencilla y concisa?

One Solution collect form web for “¿Puede alguien dar una buena explicación de Dagger 2?”

@Module : Los módulos son clases cuyos métodos proporcionan dependencias, así que definimos una clase y la anotamos con @Module , así, Dagger sabrá dónde encontrar las dependencias para satisfacerlas al construir instancias de clase. Una característica importante de los módulos es que han sido diseñados para ser particionados y compuestos juntos (por ejemplo, veremos que en nuestras aplicaciones podemos tener múltiples módulos compuestos).

Componente @Component : Los componentes básicamente son inyectores, digamos un puente entre @Inject y @Module , que su principal responsabilidad es poner ambos juntos. Simplemente te dan instancias de todos los tipos que definiste , por ejemplo, debemos anotar una interfaz con @Component y listar todos los @Modules que componen ese componente, y si alguno de ellos falta, obtenemos errores en tiempo de compilación. Todos los componentes son conscientes del alcance de las dependencias que proporciona a través de sus módulos.

@Provide : Dentro de los módulos que definen los métodos que contienen esta anotación que le dice a Dagger cómo queremos construir y proporcionar las mencionadas dependencias.

Le aconsejo leer esto:

  • Tasty Dagger 2 en Android por Fernando Cejas
  • Inyección de dependencia con Dagger 2 (Devoxx 2014) por Jake Wharton
  • Inyección de dependencia con Dagger 2
  • Inyección de dependencia con Dagger 2 – API por froger_mcs
  • Inyección de dependencia con Dagger 2 – Alcances personalizados por froger_mcs

Supongo que ayudará a entender.

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