Name, Kurzform | Prinzip der losen Kopplung |
Synonyme | - |
Beschreibung | Die Kopplung zwischen Software-Elementen soll so gering wie möglich sein. |
Erläuterung | Es existiert keine allgemein etablierte Formulierung des Prinzips. Geläufige Beschreibungen sind in ihrer Wortwahl oftmals unnötig konkret gehalten, indem sie sich beispielsweise auf „Module“, „Klassen“ oder andere konkrete Element-Typen beziehen. Die hier gewählte Formulierung vermeidet derartige Einschränkungen: Sie umfasst alle Element-Typen eines Software-Systems und kann auch auf systemübergreifende Kopplungen angewendet werden. |
Beispiele |
Jegliche
Art direkter oder indirekter Beziehung zwischen jeglicher Art von
Software-Element kann als Kopplung interpretiert werden. Einige
Beispiele können hier nur andeuten, wie vielgestaltig Kopplungen
in Software-Systemen auftreten:
|
Historie | Ein „Prinzip der losen Kopplung“ wird in zahlreichen Kontexten formuliert, so beispielsweise auch im Bereich der Hardware-Architektur oder in der Organisationstheorie. Im Kontext des Strukturierten Designs wurden die Konzepte Kopplung und Kohäsion von Yourdan und Constantine bereits in den 1970er Jahren eingeführt [Yourdan 1979]. In der Softwaretechnik wird Kopplung oft auch als Abhängigkeit (dependency) bezeichnet und hat sich so gerade durch Abhängigkeits-bezogene Prinzipien und Frameworks in der Gedankenwelt von Entwicklern und Architekten etabliert. Im Kontext serviceorientierter Architekturen wird das Prinzip häufig als wichtiges Entwurfsprinzip für Services angeführt. |
Art des Prinzips |
|
Grad der formalen Spezifikation | In der allgemeinen Form gering. Für spezielle Kopplungen aber gut formalisierbar bis hin zur Implementierung von Metriken. |
Vorteile |
|
Nachteile |
|
Übergeordnete Prinzipien |
Verwandt:
|
Abgleitete Prinzipien |
|
Qualitätsmerkmale |
(+)
Komplexität
(-) Verständlichkeit (z.B.
Entkopplung durch Abstraktion) |
Quellen
[Yourdon
1979] - Structured
design. Fundamentals of a discipline of computer program and systems
design, Yourdon,
E., Constantine, L. (1979)