Entwurfsmuster "Fassade"

7

Ich arbeite an dem Thema Designmuster. In diesem Fall möchte ich das Designmuster ' Fassade implementieren

Ich weiß, dass Cocoa Touch uns vollständige Lösungen für die Anwendung von Designmustern in unseren Projekten bietet (zum Beispiel NSNotificationCenter - implementiert das Designmuster für Beobachter)

Meine Fragen sind folgende: - Haben wir die Möglichkeit, das Designmuster Fassade sowie das Designmuster Betrachter zu verwenden.

Jetzt führe ich ' Fassade so aus:

Zum Beispiel habe ich einige Klassen, die einige Berechnungen implementieren. Die Klasse Fassade kombiniert alle Klassen, die ich für Berechnungen benötigte.

Zum Beispiel habe ich Klassen A, B, C und Fassade (die Klassen A, B und C enthalten).

Wenn ich etwas berechnen möchte, erstelle ich einfach meine Fassade und gebe ein Argument zur Berechnung ein. In diesem Fall weiß ich nichts über die Klassen A, B, C und dieses Facade-Objekt stellt mir nur einen Access Point zur Verfügung.

Dieses Entwurfsmuster kapselt Objekte und vereinfacht die Anwendung.

Ist die Implementierung korrekt?

    
Matrosov Alexander 20.02.2012, 14:23
quelle

4 Antworten

7

Ein weiteres Beispiel für die Implementierung von Fassadenmustern - Pizzaservice. Zum Beispiel ist der Pizzaservice (Subsystem) sehr groß und besteht aus drei Abteilungen (Schnittstellen): Bestellabteilung, Rabattabteilung, Lieferabteilung. Jede Abteilung hat eigene Logik und Schnittstellen. Sie können einfach Fassadenmuster darauf implementieren. Hier dieses Beispiel mehr Details.

    
Developex 18.06.2012, 14:42
quelle
7

Eine Fassade ist als einheitliche Schnittstelle zu einer Reihe von Schnittstellen definiert - eine Art Schnittstelle auf höherer Ebene, um die Komplexität zu reduzieren. Anstatt sich mit mehreren Klassen zu befassen und die APIs jedes einzelnen zu kennen, ist es auf die Fassade reduziert. Deine Erklärung sieht für mich OK aus.

    
hburde 20.02.2012 14:50
quelle
4

Es ist eine korrekte Erklärung (ich sehe keine Implementierung). Eine schöne Assoziation zu den Fassadenmustern im echten Leben ist die Fernbedienung - Sie können TV-Funktionen, DVD usw. ausführen.

    
mishadoff 20.02.2012 14:37
quelle
1

Die Motivation hinter dem Fassadenmuster besteht darin, eine vereinfachte Schnittstelle für häufig verwendete Fälle bereitzustellen, wobei die Möglichkeit besteht, die vereinfachte Schnittstelle zu erreichen und bei Bedarf mit komplexeren Aspekten der Klassen hinter der Fassade zu interagieren. Wie Sie Ihre Implementierung beschrieben haben, scheint es sicherlich der Beschreibung zu entsprechen, und es gibt keinen Grund, warum Sie kein Fassadenmuster in Kombination mit einem Benachrichtigungs- / Beobachtermuster verwenden könnten ...

    
isaac 20.02.2012 14:30
quelle