- Kopplung handelt von Abhängigkeiten zwischen Modulen.
- Kohäsion handelt von Abhängigkeiten zwischen Funktionen innerhalb eines Moduls.
Das Ziel ist also nicht die prinzipielle Vermeidung von Abhängigkeiten, sondern die Bündelung und Verkapselung von Abhängigkeiten innerhalb eines Moduls. Was aber ist erreicht, wenn die Zahl der Abhängigkeiten hierdurch gar nicht vermindert wird? Ein vereinfachendes Beispiel:
Die Zahl der Abhängigkeiten ist in beiden Lösungen gleich, aber in Lösung 1 sind die Abhängigkeiten ausschließlich intramodular, in Lösung 2 ausschließlich intermodular. Welche Vorteile könnte die - gemäß der Forderung nach starker Kohäsion und schwacher Kopplung - bevorzugte Lösung 1 gegenüber Lösung 2 aufweisen?
- Jede künftige Änderung wird sich auf genau ein Modul beschränken.
- Künftige Änderungen betreffen potentiell nur private Elemente des Moduls und haben mit erhöhter Wahrscheinlichkeit über das Modul hinaus keine weiteren Auswirkungen.
- Änderungen, welche die Interaktion von Funktionen betreffen, sind potentiell leichter handhabbar als Änderungen, welche die Interaktion von Modulen betreffen.
Insofern erscheinen Kopplung und Kohäsion nur als abgeleitete Konzepte:
- Das Prinzip der Änderungsnotwendigkeit ist der Ausgangspunkt.
- Das Geheimnisprinzip macht die "Internalisierung" von Abhängigkeiten wirksamer, indem Änderungen lokaler Eigenschaften einfacher durchgeführt werden können als Änderungen öffentlicher Eigenschaften.
- Das Lokalitätsprinzip stellt eine allgemeingültigere Formulierung des Konzepts der Kohäsion dar und ist insbesondere unabhängig von der Terminologie des Strukturierten Designs.