Sobes.tech
Junior — Middle

Do którego zasady SOLID odnosi się użycie Dagger do wstrzykiwania zależności?

sobes.tech AI

Odpowiedź od AI

Użycie Dagger do wstrzykiwania zależności odnosi się do zasady Zasada odwrócenia zależności (D) z SOLID.

Zasada ta mówi, że:

  • Moduły wyższego poziomu nie powinny bezpośrednio zależeć od modułów niższego poziomu.
  • Oba powinny zależeć od abstrakcji.
  • Abstrakcje nie powinny zależeć od szczegółów, szczegóły powinny zależeć od abstrakcji.

Dagger pomaga wdrożyć tę zasadę, zapewniając mechanizm automatycznego wstrzykiwania zależności przez abstrakcje (interfejsy lub klasy abstrakcyjne), co zmniejsza powiązanie komponentów i zwiększa testowalność oraz elastyczność kodu.

Przykład użycia Dagger:

@Component
interface AppComponent {
    void inject(MyActivity activity);
}

class MyActivity {
    @Inject
    MyRepository repository;

    void onCreate() {
        DaggerAppComponent.create().inject(this);
        repository.loadData();
    }
}

Tutaj MyActivity nie tworzy MyRepository bezpośrednio, lecz otrzymuje go przez wstrzykiwanie zależności, co jest zgodne z zasadą odwrócenia zależności.