- Vermittler (Entwurfsmuster)
-
Ein Vermittler (engl. Mediator) ist in der Softwareentwicklung ein Entwurfsmuster und gehört zur Kategorie der Verhaltensmuster (Behavioral Patterns). Das Muster dient zum Steuern des kooperativen Verhaltens von Objekten, wobei Objekte nicht direkt kooperieren, sondern über einen Vermittler. Es ist eines der sogenannten GoF-Muster (siehe Viererbande).
Inhaltsverzeichnis
Verwendung
Der Vermittler findet Anwendung, wenn
- Objekte in einem System auf komplexe Art und Weise kooperieren,
- die Wiederverwendung von Objekten durch den Bezug auf viele andere Objekte erschwert wird,
- oder Objekte andere Objekte, mit denen sie kooperieren, nicht kennen können oder sollen.
UML-Diagramm
Akteure
Der Vermittler definiert die Schnittstelle zur Kommunikation mit Kollegen. Der Konkrete Vermittler implementiert das kooperative Verhalten durch Koordination der beteiligten Kollegen. Er kennt und verwaltet beteiligte Kollegen. Die einzelnen Kollegen kennen ihren Vermittler und kommunizieren mit ihm statt mit anderen Kollegen.
Vorteile
Die Koordination des kooperativen Verhaltens wird zentral verwaltet. Eine Veränderung des kooperativen Verhaltens kann unabhängig von den beteiligten Kollegen umgesetzt werden. Solche Änderungen des Verhaltens können durch neue konkrete Vermittler erreicht werden. Dadurch wird die Unterklassenbildung eingeschränkt, da die Änderungen nicht in den verschiedenen konkreten Kollegen vorgenommen und dementsprechend viele neue Unterklassen gebildet werden müssen. Das Muster unterstützt eine lose Kopplung zwischen den Kollegen. Das Protokoll der Kollegen wird vereinfacht.
Nachteile
Da der Vermittler ein Verhalten kapselt, das andernfalls auf mehrere Klassen verteilt wird, ist er selbst komplexer als die einzelnen Komponenten es gewesen wären. Es besteht die Gefahr, dass ein monolithischer Programmkomplex entsteht, der schwer wart- und erweiterbar ist.
Anwendungsbeispiele
Ein typisches Beispiel für einen Vermittler ist ein Chatraum. Chatter melden sich beim Chatraum an und ab, um mit anderen Chattern kommunizieren zu können. Sie kommunizieren nicht direkt miteinander, sondern über den Chatraum. Verschiedene konkrete Chaträume können nun unterschiedliche Kommunikationsarten ermöglichen. So kann ein Chatraum Mitteilungen eines Chatters an alle Chatter weiterleiten, ohne dass der Chatter diese kennen muss. Ein anderer Chatraum kann hingegen nur die Kommunikation zwischen einzelnen Chattern ermöglichen. Möchte man die Kommunikation um eine Protokollierung erweitern, erweitert man dazu einen konkreten Chatraum, während die Chatter nicht betroffen sind.
Ein Mediator-basiertes Informationssystem ist ein auf dem Vermittler-Konzept aufbauendes Informationssystem
Verwandte Entwurfsmuster
Kollegen können den Vermittler beobachten und umgekehrt.
Erzeugungsmuster: Abstrakte Fabrik | Singleton | Builder | Fabrikmethode | Prototyp
Strukturmuster: Adapter | Brücke | Decorator | Fassade | Flyweight | Kompositum | Stellvertreter
Verhaltensmuster: Observer | Visitor | Interpreter | Iterator | Kommando | Memento | Schablonenmethode | Strategie | Vermittler | Zustand | Zuständigkeitskette
(Klassenmuster sind kursiv dargestellt)
Wikimedia Foundation.
Schlagen Sie auch in anderen Wörterbüchern nach:
Vermittler — Mediator (lat. mediator „Mittler“) steht: in der Psychologie für den Vermittler in einem Kommunikationsprozess, auch Berufsbild in Österreich, siehe Mediation in der Biologie und der Medizin für chemische Stoffe zum Übertragen von Signalen, siehe … Deutsch Wikipedia
Entwurfsmuster (Buch) — Entwurfsmuster. Elemente wiederverwendbarer objektorientierter Software, ISBN 3 8273 2199 9 (Originaltitel: Design Patterns. Elements of Reusable Object Oriented Software.) ist ein 1994 von Erich Gamma, Richard Helm, Ralph Johnson und John… … Deutsch Wikipedia
Entwurfsmuster — (engl. design patterns) sind bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme in Softwarearchitektur und Softwareentwicklung. Sie stellen damit eine wiederverwendbare Vorlage zur Problemlösung dar, die in einem bestimmten… … Deutsch Wikipedia
Vermittler-Muster — Ein Vermittler (engl. Mediator) ist in der Softwareentwicklung ein Entwurfsmuster und gehört zur Kategorie der Verhaltensmuster (Behavioral Patterns). Das Muster dient zum Steuern des kooperativen Verhaltens von Objekten, wobei Objekte nicht… … Deutsch Wikipedia
Facade (Entwurfsmuster) — Fassade (engl. facade) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung und gehört zu der Kategorie der Strukturmuster (Structural Patterns). Es bietet eine einheitliche und meist vereinfachte Schnittstelle zu einer Menge von… … Deutsch Wikipedia
Beobachter (Entwurfsmuster) — Der Observer (Beobachter, Listener) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung und gehört zu der Kategorie der Verhaltensmuster (Behavioural Patterns). Es dient zur Weitergabe von Änderungen an einem Objekt an von diesem… … Deutsch Wikipedia
Proxy (Entwurfsmuster) — Der Proxy, auch Stellvertreter genannt, ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung und gehört zu der Kategorie der Strukturmuster (Structural Patterns). Das Muster dient zum Verschieben der Kontrolle über ein Objekt auf ein… … Deutsch Wikipedia
Bridge (Entwurfsmuster) — Eine Brücke (engl. Bridge) ist in der Softwareentwicklung ein Entwurfsmuster und gehört zur Kategorie der Strukturmuster (Structural Patterns). Das Muster dient zur Trennung der Implementierung von ihrer Abstraktion (Schnittstelle), wodurch beide … Deutsch Wikipedia
Builder (Entwurfsmuster) — Der Erbauer (englisch Builder) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung und gehört zur Kategorie der Erzeugungsmuster (Creational Patterns). Es trennt die Konstruktion komplexer Objekte von deren Repräsentationen, wodurch… … Deutsch Wikipedia
Composite (Entwurfsmuster) — Das Kompositum (engl. Composite) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung und gehört zu der Kategorie der Strukturmuster (Structural Patterns). Es wird angewendet um Teil Ganzes Hierarchien zu repräsentieren, indem Objekte… … Deutsch Wikipedia