Sobes.tech
Junior — Middle

Hoe draagt het principe van controle-inversie bij aan de organisatie van de interactie tussen componenten in een systeem?

sobes.tech AI

Antwoord van AI

Het principe van Inversie van Controle (Inversion of Control, IoC) bevordert de organisatie van de interactie tussen systeemcomponenten door de verantwoordelijkheid voor het creëren en koppelen van objecten over te dragen aan een externe container of framework. Dit stelt componenten in staat om afhankelijkheden niet zelf te creëren, maar van buitenaf te verkrijgen.

Als resultaat worden de componenten losgekoppeld, gemakkelijker te testen en flexibeler. Bijvoorbeeld, in plaats van dat een klasse zelf een instantie van een afhankelijkheid aanmaakt, ontvangt deze die via de constructor of een setter, en de IoC-container beheert de levenscyclus en de relaties.

Voorbeeld met dependency injection:

public class Service {
    private final Repository repository;

    public Service(Repository repository) {
        this.repository = repository;
    }

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

Hier maakt Service geen Repository zelf, maar ontvangt het van buitenaf, wat het principe van inversie van controle implementeert.