Abhängigkeit
Du willst eine Library updaten. Aber sie hängt von einer anderen ab, die von einer dritten abhängt — und plötzlich bricht dein halbes System. Willkommen in der Dependency-Hölle.
Eine Abhängigkeit entsteht, wenn eine Komponente eine andere braucht um zu funktionieren. Das ist nicht schlimm — kein System existiert ohne Abhängigkeiten. Die Frage ist: Welche Abhängigkeiten hast du, und zeigen sie in die richtige Richtung?
Denk an einen Baum: Die Blätter hängen von den Ästen ab. Die Äste vom Stamm. Nie umgekehrt. Wenn ein Blatt fällt, steht der Baum noch.
In Software willst du dasselbe: Stabile Teile sollten nicht von instabilen abhängen. Dein Kern sollte stehen bleiben, auch wenn sich die Details drum herum ändern.
Zwei Regeln für gesunde Abhängigkeiten: Erstens — wenige. Zweitens — in eine Richtung. Zirkuläre Abhängigkeiten sind das sicherste Zeichen für ein Architektur-Problem.
Merke: Abhängigkeiten sind unvermeidbar. Aber ihre Richtung ist eine Entscheidung.
Abhängigkeiten sind unvermeidbar. Aber ihre Richtung ist eine Entscheidung. dependencies are inevitable. But their direction is a decision.