Sobes.tech
Junior — Middle

Kā tiek veikta atkarību injekcija, izmantojot klases konstruktoru?

sobes.tech AI

Atbilde no AI

Atkarības injekcija caur klases konstruktoru ir veids, kā nodot nepieciešamās atkarības objektam tā izveides laikā, izmantojot konstruktoru parametrus. Tas ļauj padarīt klasi modulārāku un vieglāk testējamu, jo atkarības tiek skaidri nodotas no ārpuses.

Piemērs Java:

public class Service {
    private final Repository repository;

    // Konstruktorā tiek pieņemta atkarība
    public Service(Repository repository) {
        this.repository = repository;
    }

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

// Lietošana:
Repository repo = new DatabaseRepository();
Service service = new Service(repo);

Tādējādi, klase Service pati neizveido vai nevada Repository atkarību, bet to saņem no ārpuses, kas atvieglo ieviešanas maiņu un testēšanu.