Java Reference
In-Depth Information
werden. Jedem Client oder jeder Gruppe von Clients wird daraufhin ein speziell zu-
sammengestelltes Interface zur Verfügung gestellt, das von der betrachteten Klasse
implementiert wird.
1.5 Loose Coupling
Entwirft man komplexe Systeme, so ist hierbei ein erster Schritt, diese Systeme in ein-
fachere Teile, die Subsysteme bzw. Teilsysteme, zu zerlegen. Die Identifikation eines
Teilsystems nach dem Prinzip "Teile und herrsche" ist dabei eine schwierige Aufgabe.
Als Qualitätsmaß für die Güte eines Entwurfs werden hierbei
x die funktionelle Kopplung (engl. coupling ), d. h. die Stärke der Wechselwirkungen
zwischen den Teilsystemen, und
x die Kohäsion (engl. cohesion ), d. h. die Stärke der inneren Abhängigkeiten oder
der Zusammenhalt innerhalb eines Teilsystems,
betrachtet.
Ein Entwurf gilt dann als gut, wenn
x innerhalb eines Teilsystems eine möglichst hohe Bindungsstär-
ke oder starke Kohäsion (engl. strong cohesion ) und
x zwischen den Teilsystemen eine schwache Wechselwirkung
(engl. loose coupling )
besteht. Man strebt also beim Entwurf "loosely coupled" Teilsys-
teme mit einer starken Kohäsion der einzelnen Teilsysteme an.
Anstelle von loose coupling spricht man auch von low oder weak coupling und anstelle
von einer strong cohesion auch von einer high oder tight cohesion.
Dabei müssen die Wechselwirkungen zwischen den Teilsystemen "festgezurrt", in an-
deren Worten in Form von Schnittstellen definiert werden. Die Implementierung der
Teilsysteme interessiert dabei nicht und wird verborgen (Information Hiding, siehe Ka-
pitel 1.2).
Die Vorteile von "loosely coupled" Teilsystemen sind eine hohe
Flexibilität des Verbunds mit einer Spezialisierung der Teilsys-
teme und eine vereinfachte Austauschbarkeit. Daraus resultieren
weniger Abhängigkeitsprobleme.
Search WWH ::




Custom Search