Home

afhankelijkheidscycli

Een afhankelijkheidscyclus is in de informatica een situatie waarin onderdelen van een systeem zodanig op elkaar zijn aangewezen dat er een circulaire keten van afhankelijkheden ontstaat. In een afhankelijkheidsgraf worden componenten als knopen voorgesteld en de afhankelijkheden als gerichte randen; een cyclus ontstaat wanneer er een pad bestaat dat terugleidt naar het oorspronkelijke knooppunt. Dergelijke cycli komen voor in software, systemen en projectbeheer waar modules, bibliotheken of services elkaar direct of indirect afhankelijk maken.

Oorzaken van afhankelijkheidscycli variëren. Veelvoorkomende oorzaken zijn onzorgvuldige modulering, gebrek aan abstrahering, of het onbedoeld koppelen

Gevolgen kunnen beperkend werken op onderhoud en evolutie. Cycli bemoeilijken bouwen en testen, verhinderen losse koppeling,

Detectie en aanpak verlopen meestal via analyse van afhankelijkheidsgrafen. Statistische en statische analyse, evenals build-tools en

Zie ook: afhankelijkheid, grafentheorie, statische analyse, softwarearchitectuur, modulair ontwerp.

van
implementaties
aan
elkaar.
Cycli
kunnen
ontstaan
door
toenemende
complexiteit,
toevoeging
van
nieuwe
functies
zonder
heroverweging
van
de
architectuur,
of
door
foutieve
toepassing
van
ontwerpprincipes
zoals
afhankelijkheidsinjectie
zonder
duidelijke
grenzen.
vergroten
de
kans
op
circulerende
initialisatieproblemen
en
maken
refactoren
riskanter.
Ze
kunnen
leiden
tot
hogere
koppeling,
minder
herbruikbaarheid
en
tragere
ontwikkeling.
plug-ins,
kunnen
cycli
aantonen.
Doorbreken
van
cycli
gebeurt
vaak
door
herindeling
van
verantwoordelijkheden,
toepassing
van
het
principe
van
inversie
van
afhankelijkheden,
het
introduceren
van
abstractie-
of
interface-niveaus,
modulo-
herstructurering
of
het
opdelen
van
modules
in
aparte,
minder
afhankelijke
delen.