Sobes.tech
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.