Bedeutung der Zusammenhalt & Kopplung in Software-Design

July 18

Kohäsion und Kopplung beide Messen die Beziehung zwischen Elementen der Computersoftware. Zusammenhalt misst, wie die Komponenten eines Software-Moduls oder einer Klasse von Softwareobjekten zueinander. Kupplung misst das Verhältnis zwischen separaten Klassen und Module. Gute Programmierung Zusammenhalt erhöht und verringert die Menge der Kupplung.

Kohäsion

Einer Klasse oder eines Moduls hat hohen Kohäsion, wenn alle Verantwortlichkeiten, Daten und Methoden, die es enthält eng verbunden sind. Enthält ein Modul Projektplanung nur Methoden oder Funktionen, die im Zusammenhang mit Planung, ist es höchst Zusammenhalt; Wenn es auch Organigrammen und eine Kundendatenbank umfasst, ist es weniger Zusammenhalt. Berechnen Sie die Anzahl der freigegebenen Felder mit Methoden--Subroutinen--in einer Klasse zugreifen und vergleichen dann die Anzahl der nicht verwandten Felder, die sie verwenden, um Zusammenhalt zu messen. Je größer die Anzahl der gemeinsame Felder, desto größer die Kohäsion.

Bedeutung

Wenn ein Modul hat mehrere Operationen--Sicherheit, Infrastruktur, Netzwerkregeln--zu behandeln, wird es schwerer zu arbeiten als mit alles im Modul konzentriert sich auf einen einzigen Zweck. Mit einem niedrig-Zusammenhalt-Modell musst du mehrere unabhängige Änderungen vornehmen, da jedes Teil eine unterschiedliche Fix oder Patch braucht. Umgekehrt, wenn verwandte Funktionen in mehreren Dateien, anstatt eine einzelne zusammenhängende Dateien aufgeteilt werden, müssen Sie jede Datei anstatt ein einzelnes Update in einer einzigen Datei wiederholte identische Änderungen vorzunehmen.

Kupplung

Wenn Ihr Softwaredesign enge Kopplung zwischen Klassen oder Subsysteme verwendet, das heißt, sie sind miteinander verbunden: System A nicht ohne zu wissen Informationen über was System B tut seinen Job ausführen und eine Änderung zu B bedeutet A hat auch ändern. Mit losen Kopplung können Sie leichter System A ändern. Es ist auch schwieriger, um den Code für A zu studieren, wenn Sie es nicht verstehen, ohne den Code für B und ihre Beziehung zu analysieren.

Effizienz

Geringe Kopplung Codierung effizienter macht, da Sie mehr Code wiederverwenden können: Wenn System A und System-B sind nicht voneinander abhängig, Sie können kopieren Sie den Code für einen von ihnen in ein anderes Programm ohne Schwierigkeiten. Software, die doppelte Codierung für doppelte Funktionen enthält, ist ein weiteres Zeichen der Ineffizienz. Sie sind oft besser dran, wenn Sie schreiben das Programm doppelte Funktionen zu beseitigen, dann eine eigene kohärente Modul die Funktion zuweisen. Je niedriger der Ebene der Kupplung, leichter solche einschneidende Änderungen geworden.