Sobes.tech
Junior — Middle

Millisele SOLID põhimõttele viitab Dagger kasutamine sõltuvuste süstimiseks?

sobes.tech AI

Vastus AI-lt

Dagger kasutamine sõltuvuste injekteerimiseks on seotud SOLID-i Sõltuvuse pööramise põhimõttega (D).

See põhimõte ütleb, et:

  • Kõrgema taseme moodulid ei tohiks otseselt sõltuda madalama taseme moodulitest.
  • Mõlemad peaksid sõltuma abstraktsioonidest.
  • Abstraktsioonid ei tohiks sõltuda üksikdetailidest, detailid peaksid sõltuma abstraktsioonidest.

Dagger aitab seda põhimõtet ellu viia, pakkudes mehhanismi automaatseks sõltuvuste injekteerimiseks abstraktsioonide (liideste või abstraktsete klasside) kaudu, mis vähendab komponentide sidusust ja suurendab koodi testitavust ning paindlikkust.

Näide Daggeri kasutamisest:

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

class MyActivity {
    @Inject
    MyRepository repository;

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

Siin ei loo MyActivity otse MyRepository-d, vaid saab selle sõltuvuste injekteerimise kaudu, mis vastab sõltuvuste pööramise põhimõttele.