Das Fassadenmuster, auch als Aussehensmodus bezeichnet, verbirgt die Komplexität des Systems und bietet dem Client eine Schnittstelle, die auf das System zugreifen kann. Diese Art von Entwurfsmuster ist ein strukturelles Muster. Es fügt dem vorhandenen System eine Schnittstelle hinzu, um die Komplexität des Systems auszublenden, und bietet eine einheitliche hochrangige Zugriffsschnittstelle für eine Reihe von Schnittstellen im Subsystem, wodurch das Subsystem zugänglich ist. Dieses Muster beinhaltet eine einzelne Klasse, die vereinfachte Methoden für Client -Anforderungen und delegierte Anrufe an vorhandene Systemklassenmethoden bereitstellt.
Kurz gesagt, es soll eine Reihe komplexer Prozesse in eine Schnittstelle einbinden, die Benutzer für die einfachere Verwendung verwenden können. Es gibt drei Rollen in diesem Entwurfsmuster:
1) Fassadencharakter (Fassade): Dies ist der Kern des Fassadenmodus. Es wird von der Kundenrolle bezeichnet, daher ist es mit der Funktionalität des Subsystems vertraut. Es behält sich intern mehrere funktionale Kombinationen zurück, die auf den bestehenden Anforderungen der Kundenrolle basieren.
2) Subsystemrolle (Subsystem): Implementiert die Funktionen des Subsystems. Für sie ist die Fassadenrolle so unbekannt wie die Kundenrolle und hat keine Informationen und Links zur Fassadenrolle.
3) Kundenrolle: Rufen Sie die Fassadenrolle an, um die zu erhaltenen Funktionen auszufüllen.
Hier ist ein einfaches Implementierungsbeispiel:
// Definieren Sie einen einheitlichen Eingang der öffentlichen Klasse Shapemaker {privater Formkreis; privates Form rechteckig; {square.draw ();}} // Verwenden Sie die zuvor definierte Erscheinungsklasse direkt, um verschiedene Formen zu zeichnen. Wie man bekommt und zeichnet, besteht nicht erforderlich, auf die öffentliche Klasse Facadepattrededemo {public static void Main (String [] args) {Shapemaker Shapemaker = New Shapemaker (); Shapemaker.Drawcircle (); ShapeMaker.Drawrectangle (); Shapemaker.Drawcircle ();Abbildung 1: UML -Diagramm
Klassenschublade {public void open () {System.out.println ("Die erste Schublade wird geöffnet"); getKey ();} public void getKey () {System.out.println ("Get the Schlüssel zum zweiten Schubladen"); geöffnet "); getFile ();} public void getFile () {System.out.println (" Get diese wichtige Datei ");}} Klasse DrawerFacade {DrawerOne Darwerone = new Draxerone (); Drawertwo DarWertwo = New Drawertwo (); {Darwerone.open (); Darwertwo.open ();}} öffentliche Klasse DrawerClient {public static void main (String [] args) {schänerfacade schublade = new DrawerFacade (); Drawer.open ();Nutzungsszenario des Fassadenmodus:
(1) Module, die externen Zugriff auf komplexe Module oder Subsysteme ermöglichen.
(2) Das Subsystem ist relativ unabhängig.
(3) In der hierarchischen Struktur kann der Eingang jeder Schicht in das System mit dem Erscheinungsmuster definiert werden.
Das obige ist die detaillierte Erklärung des vom Editor eingeführten Java -Designmodells (Erscheinungsmodus). Ich hoffe, es wird für alle hilfreich sein!