Junior — Middle
¿Cómo se define el ámbito de dependencias en Dagger y para qué sirve?
sobes.tech AI
Respuesta de la IA
En Dagger, el alcance (Scope) define el ciclo de vida y la unicidad de las dependencias creadas. Es necesario para gestionar la duración de los objetos y evitar la creación innecesaria de nuevas instancias.
Por ejemplo, si se marca un componente y un proveedor de dependencias con el mismo alcance, Dagger creará una única instancia de esa dependencia durante toda la vida del componente.
El alcance ayuda a:
- Reutilizar objetos dentro de un mismo ámbito (por ejemplo, sesión o pantalla).
- Controlar la creación y destrucción de dependencias.
- Evitar fugas de memoria y consumo excesivo de recursos.
Ejemplo de definición de alcance:
@Scope
@Retention(RetentionPolicy.RUNTIME)
public @interface ActivityScope {}
@ActivityScope
@Component(modules = MyModule.class)
public interface MyComponent {
// dependencias
}
Aquí, ActivityScope garantiza que todas las dependencias con esta anotación se creen una sola vez durante el ciclo de vida del componente.