Kopplung & Kohäsion
Zwei zentrale Designprinzipien: lose Kopplung (Module hängen wenig voneinander ab) + hohe Kohäsion (ein Modul macht eine Sache gut).
Gutes Design bedeutet beides. Enge Kopplung heißt: Ändert man A, bricht B. Niedrige Kohäsion heißt: Eine Klasse macht zehn verschiedene Dinge. Dependency Injection, interfacebasiertes Design und Microservices sind Versuche, Kopplung zu reduzieren.