Sobes.tech
Middle

Wat is koppeling?

sobes.tech AI

Antwoord van AI

Koppeling (coupling) is de mate van afhankelijkheid tussen modules of componenten van een programma. Hoe sterker de koppeling, hoe nauwer de modules verbonden zijn, en veranderingen in de ene kunnen de andere beïnvloeden. In objectgeoriënteerd programmeren wordt gestreefd naar losse koppeling (loose coupling) om de onderhoudbaarheid en flexibiliteit van de code te verbeteren.

Bijvoorbeeld, als klasse A direct interne details van klasse B gebruikt, is dat sterke koppeling. Om de koppeling te verminderen, worden interfaces, abstracties of dependency injection gebruikt.

Voorbeeld van losse koppeling in PHP:

interface LoggerInterface {
    public function log(string $message);
}

class FileLogger implements LoggerInterface {
    public function log(string $message) {
        // schrijven naar bestand
    }
}

class UserService {
    private LoggerInterface $logger;

    public function __construct(LoggerInterface $logger) {
        $this->logger = $logger;
    }

    public function createUser() {
        // gebruiker aanmaken
        $this->logger->log('Gebruiker aangemaakt');
    }
}

Hier, afhankelijkheid van UserService is van de abstractie LoggerInterface, niet van een concrete implementatie, wat de koppeling vermindert.