- 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 Schnittstellen eines Subsystems.
Wenn ein Subsystem viele technisch orientierte Klassen enthält, die selten von außen verwendet werden, hilft es, eine Fassade zu verwenden. Die Fassade ist eine Klasse mit ausgewählten Methoden, die eine häufig benötigte Untermenge an Funktionalität des Subsystems umfasst. Sie delegiert die Funktionalität an andere Klassen des Subsystems und vereinfacht dadurch den Umgang mit dem Subsystem.
Inhaltsverzeichnis
Vorteile und Nachteile
Die Fassade fördert die lose Kopplung, weil mehrere Schnittstellen zu einer zusammengefasst werden und senkt die Komplexität, da es das zugrunde liegende Subsystem versteckt. Außerdem kann das Subsystem durch die lose Kopplung leichter erweitert werden.
Der Nachteil besteht darin, dass eine zusätzliche Indirektionsstufe eingeführt wird.
Beispiel
Die Standard-Bibliothek von Java enthält sehr viele Klassen für das Verarbeiten von Schriftarten und deren Darstellung als geometrische Figuren oder direkt als Pixel. Trotzdem kommen die meisten Java-Programmierer mit diesen Klassen nie in Kontakt, da die Standard-Bibliothek mit den Fassadenklassen
Font
undGraphics
sehr einfachen Zugriff auf die wichtigsten Schriftart-Operationen gewährt.Verwandte Entwurfsmuster
Die Abstrakte Fabrik (Abstract Factory, Kit) kann zusammen mit einer Fassade verwendet werden, um eine Schnittstelle zum Erzeugen von Systemobjekten unabhängig vom Subsystem anzubieten.
Der Vermittler (Mediator) steht genau wie die Fassade als Vermittler zwischen Klassen, um direkte Zugriffe zu vermeiden.
Der Adapter stellt auch eine Schnittstelle für den Zugriff auf ein Subsystem zur Verfügung.
Literatur
- Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Entwurfsmuster. Addison-Wesley Verlag, München 2004, ISBN 3-89319-950-0.
Weblinks
- Bericht der Privaten Fachhochschule Wedel über das Strukturmuster Fassade
Erzeugungsmuster: Abstrakte Fabrik | Singleton | Builder | Fabrikmethode | Prototyp
Strukturmuster: Adapter | Brücke | Decorator | Facade | Flyweight | Kompositum | Stellvertreter
Verhaltensmuster: Observer | Visitor | Interpreter | Iterator | Kommando | Memento | Schablonenmethode | Strategie | Vermittler | Zustand | Zuständigkeitskette
(Klassenmuster sind kursiv dargestellt)
Wikimedia Foundation.