In der Softwareentwicklung müssen die Klassen nichts voneinander wissen.
Und wie nutzt man eine Klasse, welche niemand kennt?
Was glaubst Du für was die Uses-Klausel da ist. Um Klassen vor einander zu verstecken, oder dafür, dass die Klasse von anderen Klassen erfährt?
Eine Eizelle und ein Mensch können sehr gut existieren, ohne einander zu kennen.
Das ist richtig.
Denn irgendein Mensch muss irgendeine Eizelle nicht kennen.
Aber die Klassen müssen sich gegenseitig kennen, sonst würde die Menschheit aussterben.
Wechselseitige Abhängigkeiten führen zudem dazu, das die Klasse ihre Allgemeingültigkeit und Wiederverwendbarkeit einschränkt, wenn nicht sogar verliert.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.