Kohäsion (Informatik)

Kohäsion (Informatik)

In der objektorientierten Programmierung beschreibt Kohäsion, wie gut eine Programmeinheit eine logische Aufgabe oder Einheit abbildet. In einem System mit starker Kohäsion ist jede Programmeinheit (eine Methode, eine Klasse oder ein Modul) verantwortlich für genau eine wohldefinierte Aufgabe oder Einheit.

Starke Kohäsion

Eine Klasse mit starker Kohäsion repräsentiert genau eine wohldefinierte Einheit, eine Methode mit starker Kohäsion ist verantwortlich für genau eine wohldefinierte Aufgabe. Code-Duplizierung (eine bestimmte Folge von Symbolen erscheint mehrmals[1] im Quelltext einer Anwendung) ist ein Indiz für schlechten Entwurf. Sie sollte vermieden werden.

Meist wird Code-Duplizierung durch schlechte (schwache) Kohäsion verursacht. In der pragmatischen Programmierung nennt man dies das DRY-Prinzip (Don't Repeat Yourself ‚Wiederhole dich nicht‘).

Arten der Kohäsion

Kohäsion kann als qualitatives Maß für Quelltext betrachtet werden. Dieses Maß kann in Kategorien unterteilt werden, die sich voneinander in der Stärke der Kohäsion unterscheiden. Mögliche Kategorien der Kohäsion von schwacher Kohäsion (zu vermeiden) bis hin zu starker Kohäsion (erstrebenswert) sind:

Zufällige Kohäsion
Zufällige Kohäsion liegt dann vor, wenn die Teile eines Moduls logisch und sachlich unzusammenhängend und so nur zufällig zusammen gruppiert sind (Beispiel: Utility-Klassen).
Logische Kohäsion
Logische Kohäsion liegt dann vor, wenn die - an sich unterschiedlichen - Teile eines Moduls logisch durch einen Oberbegriff zusammengefasst werden können (Beispiel: Eingaberoutinen für Maus, Tastatur, etc.).
Zeitliche Kohäsion
Zeitliche Kohäsion liegt dann vor, wenn die Teile eines Moduls nach ihrer gemeinsamen Ausführungszeit gruppiert sind (Beispiel: Initialisierung/Desktruktion innerhalb eines Konstruktors/Destruktors).
Prozedurale Kohäsion
Prozedurale Kohäsion liegt dann vor, wenn die Teile eines Moduls nach ihrer Ausführungsreihenfolge gruppiert sind (Beispiel: Eine Funktion, die zunächst Zugriffsrechte prüft und anschließend eine Datei öffnet).
Kommunikative Kohäsion
Kommunikative Kohäsion liegt dann vor, wenn die Teile eines Moduls auf gemeinsamen Daten operieren.
Sequentielle Kohäsion
Sequentielle Kohäsion liegt dann vor, wenn die Ausgabe eines Teiles eines Moduls die Eingabe eines anderen Modulteiles ist.
Funktionale Kohäsion
Funktionale Kohäsion liegt dann vor, wenn die Teile eines Moduls alle zur Lösung einer einzelnen, wohldefinierten Aufgabe beisteuern.
Informationale Kohäsion
Informationale Kohäsion ist eine Verstärkung des Begriffs der funktionalen Kohäsion. Sie liegt dann vor, wenn zusätzlich zur funktionalen Kohäsion auch kommunikative Kohäsion für ein Modul vorliegt.

Eng verbunden mit dem Begriff der Kohäsion ist der Begriff der Kopplung.

Fußnoten

  1. Von Code-Duplizierung spricht man üblicherweise nur bei bestimmte Sequenzen. Sprachbedingt gibt es immer irreduzible (Token-)Sequenzen im Quelltext.

Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Kohäsion — (lat. cohaerere „zusammenhängen“), auch Zusammenhangskraft genannt, bezeichnet: Kohäsion (Chemie) in der Physik und Chemie die Zusammenhangskräfte zwischen den Atomen bzw. Molekülen eines Stoffes Kohäsion (Bodenmechanik) in der Bodenmechanik die… …   Deutsch Wikipedia

  • Kohesiv — Kohäsion (v. lat. cohaerere „zusammenhängen“), auch Zusammenhangskraft genannt, ist: in der Physik und Chemie die Zusammenhangskräfte zwischen den Atomen bzw. Molekülen eines Stoffes, siehe Kohäsion (Chemie) in der Bodenmechanik die… …   Deutsch Wikipedia

  • Kohäsionskraft — Kohäsion (v. lat. cohaerere „zusammenhängen“), auch Zusammenhangskraft genannt, ist: in der Physik und Chemie die Zusammenhangskräfte zwischen den Atomen bzw. Molekülen eines Stoffes, siehe Kohäsion (Chemie) in der Bodenmechanik die… …   Deutsch Wikipedia

  • Kohäsiv — Kohäsion (v. lat. cohaerere „zusammenhängen“), auch Zusammenhangskraft genannt, ist: in der Physik und Chemie die Zusammenhangskräfte zwischen den Atomen bzw. Molekülen eines Stoffes, siehe Kohäsion (Chemie) in der Bodenmechanik die… …   Deutsch Wikipedia

  • Zusammenhangskraft — Kohäsion (v. lat. cohaerere „zusammenhängen“), auch Zusammenhangskraft genannt, ist: in der Physik und Chemie die Zusammenhangskräfte zwischen den Atomen bzw. Molekülen eines Stoffes, siehe Kohäsion (Chemie) in der Bodenmechanik die… …   Deutsch Wikipedia

  • 2-Tier-Architektur — Aufrufschema in einer Schichtenarchitektur Eine Schichtenarchitektur oder Schichtenmodell ist ein häufig angewandtes Strukturierungsprinzip für die Architektur von Softwaresystemen. Dabei werden einzelne Aspekte des Softwaresystems konzeptionell… …   Deutsch Wikipedia

  • 3-Tier — Aufrufschema in einer Schichtenarchitektur Eine Schichtenarchitektur oder Schichtenmodell ist ein häufig angewandtes Strukturierungsprinzip für die Architektur von Softwaresystemen. Dabei werden einzelne Aspekte des Softwaresystems konzeptionell… …   Deutsch Wikipedia

  • 3-Tier-Architektur — Aufrufschema in einer Schichtenarchitektur Eine Schichtenarchitektur oder Schichtenmodell ist ein häufig angewandtes Strukturierungsprinzip für die Architektur von Softwaresystemen. Dabei werden einzelne Aspekte des Softwaresystems konzeptionell… …   Deutsch Wikipedia

  • Drei-Schichten-Architektur — Aufrufschema in einer Schichtenarchitektur Eine Schichtenarchitektur oder Schichtenmodell ist ein häufig angewandtes Strukturierungsprinzip für die Architektur von Softwaresystemen. Dabei werden einzelne Aspekte des Softwaresystems konzeptionell… …   Deutsch Wikipedia

  • Drei-Tier-Architektur — Aufrufschema in einer Schichtenarchitektur Eine Schichtenarchitektur oder Schichtenmodell ist ein häufig angewandtes Strukturierungsprinzip für die Architektur von Softwaresystemen. Dabei werden einzelne Aspekte des Softwaresystems konzeptionell… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”