Sobes.tech
Junior — Middle

Kaip vykdoma priklausomybių injekcija naudojant klasės konstruktorių?

sobes.tech AI

Atsakymas iš AI

Priklausomybių injekcija per klasės konstruktorių yra būdas perduoti reikalingas priklausomybes objektui jo kūrimo metu per konstruktoriaus parametrus. Tai leidžia padaryti klasę labiau moduliarią ir lengviau testuojamą, nes priklausomybės aiškiai perduodamos iš išorės.

Pavyzdys Java:

public class Service {
    private final Repository repository;

    // Konstruktorius priima priklausomybę
    public Service(Repository repository) {
        this.repository = repository;
    }

    public void perform() {
        repository.save();
    }
}

// Naudojimas:
Repository repo = new DatabaseRepository();
Service service = new Service(repo);

Taip, klasė Service nesukuria ir nevaldo Repository priklausomybės savarankiškai, o ją gauna iš išorės, kas palengvina įgyvendinimo keitimą ir testavimą.