Junior — Middle
Kako odrediti opseg zavisnosti u Daggeru i čemu služi?
sobes.tech АИ
Одговор од АИ
U Dagger-u, opseg (Scope) definiše životni ciklus i jedinstvenost kreiranih zavisnosti. On je neophodan za upravljanje vremenom trajanja objekata i izbegavanje nepotrebnog kreiranja novih instanci.
Na primer, ako označimo komponentu i pružaoca zavisnosti istim opsegom, Dagger će kreirati jedinstvenu instancu te zavisnosti tokom celog životnog ciklusa komponente.
Opseg pomaže:
- Da se objekti ponovo koriste unutar iste oblasti (npr. sesije ili ekrana).
- Da kontroliše kreiranje i uništavanje zavisnosti.
- Da izbegne curenje memorije i prekomernu potrošnju resursa.
Primer definisanja opsega:
@Scope
@Retention(RetentionPolicy.RUNTIME)
public @interface ActivityScope {}
@ActivityScope
@Component(modules = MyModule.class)
public interface MyComponent {
// zavisnosti
}
Ovde, ActivityScope garantuje da će sve zavisnosti sa ovom anotacijom biti kreirane samo jednom tokom životnog ciklusa komponente.