Middle+
Wat is lage koppeling en hoge samenhang (low coupling, high cohesion)?
sobes.tech AI
Antwoord van AI
Lage cohesie (hoog samenhang) en lage koppeling (laag koppelen) zijn ontwerpprincipes die gericht zijn op het creëren van code die gemakkelijk te onderhouden, uit te breiden en te testen is.
Lage koppeling (Low Coupling)
- Betekent dat componenten (klassen, modules) minimaal afhankelijk zijn van elkaar. Wijzigingen in één component hebben minimale invloed op anderen.
- Kenmerken van lage koppeling:
- Componenten communiceren via duidelijk gedefinieerde interfaces.
- Directe toegang tot interne details van andere componenten wordt geminimaliseerd.
- Wijzigingen in de implementatie van één component vereisen geen wijzigingen in anderen.
- Voordelen:
- Het testen van individuele componenten wordt eenvoudiger.
- De code wordt flexibeler en gemakkelijker uit te breiden.
- Het risico op fouten bij wijzigingen wordt verminderd.
Hoge cohesie (High Cohesion)
- Betekent dat de elementen binnen een component logisch verbonden zijn en één duidelijk gedefinieerde taak uitvoeren. Een component met hoge cohesie is gericht op één verantwoordelijkheid.
- Kenmerken van hoge cohesie:
- Alle methoden van de klasse behoren tot hetzelfde functionele gebied.
- De klasse bevat geen niet-gerelateerde functionaliteit.
- De logica die betrekking heeft op één taak, is geconcentreerd op één plek.
- Voordelen:
- De code wordt begrijpelijker en makkelijker te lezen.
- Het lokaliseren en corrigeren van fouten wordt eenvoudiger.
- De component wordt herbruikbaarder.
In het algemeen moet men streven naar lage koppeling tussen componenten en hoge cohesie binnen elke component.