Jewiki unterstützen. Jewiki, die größte Online-Enzy­klo­pädie zum Judentum.

Helfen Sie Jewiki mit einer kleinen oder auch größeren Spende. Einmalig oder regelmäßig, damit die Zukunft von Jewiki gesichert bleibt ...

Vielen Dank für Ihr Engagement! (→ Spendenkonten)

How to read Jewiki in your desired language · Comment lire Jewiki dans votre langue préférée · Cómo leer Jewiki en su idioma preferido · בשפה הרצויה Jewiki כיצד לקרוא · Как читать Jewiki на предпочитаемом вами языке · كيف تقرأ Jewiki باللغة التي تريدها · Como ler o Jewiki na sua língua preferida

Fassade (Entwurfsmuster)

Aus Jewiki
Zur Navigation springen Zur Suche springen

Fassade (englisch facade) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung und gehört zu der Kategorie der Strukturmuster (structural design patterns). Es bietet eine einheitliche und meist vereinfachte Schnittstelle zu einer Menge von Schnittstellen eines Subsystems.[1]

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.

Vorteile und Nachteile

Die Fassade fördert die lose Kopplung, weil mehrere Schnittstellen zu einer zusammengefasst werden, und senkt die Komplexität, da sie 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 und Graphics sehr einfachen Zugriff auf die wichtigsten Schriftart-Operationen gewährt.

Struktur

FacadeDesignPattern.png

Facade
Die Fassade. Sie verweist auf die Klassen Class1, Class2 und Class3.
Clients
Die Objekte welche die Fassade nutzen.

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 (Wrapper) stellt eine geänderte Schnittstelle auf eine existierende Klasse oder ein Subsystem bereit.

Business Delegate ist das Gegenstück zur Fassade auf der aufrufenden Komponente.

Literatur

  • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Entwurfsmuster. Addison-Wesley Verlag, München 2004, ISBN 3-89319-950-0.

Weblinks

 Commons: Fassade (Entwurfsmuster) – Sammlung von Bildern, Videos und Audiodateien
Wikibooks Wikibooks: Muster: Facade – Lern- und Lehrmaterialien

Einzelnachweise

  1. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Entwurfsmuster. 5 Auflage. Addison-Wesley, 1996, ISBN 3-8273-1862-9, S. 212.
Dieser Artikel basiert ursprünglich auf dem Artikel Fassade (Entwurfsmuster) aus der freien Enzyklopädie Wikipedia und steht unter der Doppellizenz GNU-Lizenz für freie Dokumentation und Creative Commons CC-BY-SA 3.0 Unported. In der Wikipedia ist eine Liste der ursprünglichen Wikipedia-Autoren verfügbar.