Junior — Middle
Comment définir la portée des dépendances dans Dagger et à quoi sert-elle?
sobes.tech IA
Réponse de l'IA
Dans Dagger, la portée (Scope) définit le cycle de vie et l’unicité des dépendances créées. Elle est nécessaire pour gérer la durée de vie des objets et éviter la création inutile de nouvelles instances.
Par exemple, si un composant et un fournisseur de dépendances sont marqués avec la même portée, Dagger créera une seule instance de cette dépendance pendant toute la durée de vie du composant.
La portée aide à:
- Réutiliser les objets dans un même domaine (par exemple, session ou écran).
- Contrôler la création et la destruction des dépendances.
- Éviter les fuites de mémoire et la consommation excessive de ressources.
Exemple de définition de portée:
@Scope
@Retention(RetentionPolicy.RUNTIME)
public @interface ActivityScope {}
@ActivityScope
@Component(modules = MyModule.class)
public interface MyComponent {
// dépendances
}
Ici, ActivityScope garantit que toutes les dépendances avec cette annotation seront créées une seule fois durant le cycle de vie du composant.