Vladislav Khononov
Balancing Coupling in Software Design
Wir sind es gewohnt, Kopplung als notwendiges Übel zu betrachten. Daher versuchen wir, Systeme in die kleinstmöglichen Dienste aufzuteilen, in dem ständigen Bestreben, alles zu entkoppeln. Aber welche Ergebnisse erzielen wir, wenn wir dieser Argumentation folgen? - Statt in das gelobte Land der entwicklungsfähigen Systeme führen viele dieser "Entkopplungsbemühungen" direkt in die Ketten verteilter Monolithen. Können wir es besser machen? Was wäre, wenn es einen besseren Weg gäbe, mit der Kopplung in verteilten Systemen umzugehen? Oder was wäre, wenn wir, anstatt die Kopplung zu bekämpfen, sie als Heuristik für den Entwurf von Systemen nutzen könnten, die tatsächlich entwicklungsfähig und wartbar sind?
Genau das werden Sie in dieser Sitzung lernen: was Kopplung ist und wie Sie sie als Entwurfswerkzeug nutzen können. Wir beginnen mit einer Reise durch die Zeit und untersuchen die verschiedenen Modelle zur Bewertung der Kopplung.
Anschließend werden wir das vorhandene Wissen in einem kohärenten Modell zusammenfassen - einer einfachen Funktion zur Bewertung der Zerlegung eines Systems in Komponenten. Mit dieser Funktion können Sie den zu erwartenden Aufwand für die Entwicklung eines Systems abschätzen und sie als Heuristik für die Optimierung von Architekturentscheidungen nutzen.
(Video in englischer Sprache)