- Formular el código de la app con dependencias manuales o desde Dagger Hilt para construir una app con una arquitectura sólida.
- Creación de un proyecto Android con y sin la inyección de dependencias.
- Implementación de diversas herramientas para inyección de dependencias.
- Implementación de Dagger Hilt en proyecto de app Android.
- Revisión previa del Prework de la sesión.
- Android Studio.
En esta sesión aprenderemos la inyección de dependencias, o DI, técnica frecuente en programación y adecuada para el desarrollo de Android que es la base de una arquitectura sólida de apps.
Al programar una app las clases suelen requerir referencias a otras clases. Por ejemplo, una clase Car podría necesitar una referencia a una clase Engine. A estas clases se les denomina dependencias. En el mismo ejemplo, la clase Car necesita una instancia de la clase Engine, de la que depende para ejecutarse.
En ese sentido, una clase puede obtener un objeto que necesita mediante alguna de las siguientes tres maneras:
- La clase construye la dependencia que necesita. En el ejemplo anterior, Car crea e inicializa su propia instancia de Engine.
- La clase la toma de otro lugar. Algunas API de Android, como los métodos get de Context y getSystemService(), funcionan de esta forma.
- La clase la recibe como parámetro. La app puede proporcionar estas dependencias cuando se construye la clase, o pasarlas a las funciones que necesitan cada dependencia. En el ejemplo anterior, el constructor Car recibe Engine como parámetro.
En general, implementar la inyección de dependencias suma las siguientes ventajas:
- Reutilización de código.
- Facilidad de refactorización.
- Facilidad de prueba.