Was ist ein Fassadenmuster?
Ist Fassade eine Klasse enthält eine Menge von anderen Klassen?
Was macht es ein design-pattern? Für mich ist es wie eine normale Klasse.
Können Sie erklären mir diese Fassade Muster?
InformationsquelleAutor der Frage kevin | 2011-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein design pattern ist eine Allgemeine Lösung eines immer wiederkehrenden Problems. Klassen in allen design-patterns sind ganz normale Klassen. Was wichtig ist, ist, wie Sie strukturiert sind und wie Sie gemeinsam zur Lösung einer gegebenen Aufgabe in der bestmöglichen Art und Weise.
Den Fassade design pattern vereinfacht die Schnittstelle zu einem komplexen system; denn es ist in der Regel aus allen Klassen, aus denen sich die Subsysteme des komplexen Systems.
Fassade schirmt den Benutzer von den komplexen details des Systems auf und bietet Ihnen ein
simplified view
es isteasy to use
. Es auchdecouples
den code, der nutzt das system aus den Angaben der Subsysteme, so dass es leichter zu ändern, das system später.http://www.dofactory.com/Patterns/PatternFacade.aspx
http://www.blackwasp.co.uk/Facade.aspx
Auch, was ist wichtig beim lernen, design-patterns ist in der Lage sein zu erkennen, welches Muster passt zu Ihrem gegebenen Problems auszuwählen, und dann verwenden Sie es ordnungsgemäß. Es ist eine sehr gemeinsame Sache zu missbrauchen, ein Muster, oder versuchen, um es zu passen zu einigen problem, nur weil Sie es wissen. Kennen Fallstricke beim lernen\design-Pattern.
InformationsquelleAutor der Antwort Unmesh Kondolikar
Wikipedia hat, ein gutes Beispiel Fassade-Muster.
InformationsquelleAutor der Antwort egezer
Als in der vorherigen Antwort erläutert, es bietet eine einfache Schnittstelle, um die Konsum-client.
Zum Beispiel: "watch ESPN" ist die beabsichtigte Funktion. Aber es umfasst mehrere Schritte, wie:
Aber die Fassade vereinfacht diese und geben Sie einfach "watch ESPN" - Funktion an den client.
InformationsquelleAutor der Antwort Aravind
Fassade verbirgt die Komplexität des Systems und bietet eine Schnittstelle für die Clients, von dem der client Zugriff auf das system.
InformationsquelleAutor der Antwort KaviK
Einer Fassade sollte nicht beschrieben werden als eine Klasse enthält eine Menge von anderen Klassen. Es ist in der Tat ein interface dieser Klassen und die Verwendung der Klassen leichter, ansonsten ist die Fassade-Klasse nutzlos ist.
InformationsquelleAutor der Antwort llMll
Dem Fassade-pattern ist ein wrapper für viele weitere Schnittstellen in ein Ergebnis zu produzieren, eine einfachere Schnittstelle.
Design patterns sind nützlich, wie Sie zu lösen wiederkehrende Probleme und im Allgemeinen vereinfachen-code. In einem team von Entwicklern, Stimmen zu, verwenden Sie das gleiche Muster haben, es verbessert die Effizienz und das Verständnis bei der Pflege der jeweils anderen code.
Lesen Sie mehr über Muster:
Fassade Muster: http://www.dofactory.com/Patterns/PatternFacade.aspx#_self1
oder allgemeiner: http://www.dofactory.com/Patterns/Patterns.aspx
InformationsquelleAutor der Antwort Aim Kai
Einer zusätzlichen Verwendung des Fassade-Musters könnte es sein, reduzieren Sie die Lernkurve des Teams. Lassen Sie mich Ihnen ein Beispiel geben:
Lassen Sie uns annehmen, dass Ihre Anwendung muss für die Interaktion mit MS Excel, indem die in die COM-Objektmodell von Excel. Einer Ihrer team-Mitglieder kennt alle Excel-APIs und erstellt er die Fassade auf die Spitze, erfüllt alle grundlegenden Szenarien der Anwendung. Kein anderes Mitglied im team brauchen, um zu verbringen Zeit auf das lernen Excel-API. Das team kann mit der Fassade ohne wissen der Interna bzw. alle MS-Excel-Objekte beteiligt, die in Erfüllung Szenario. Ist es nicht toll?
So, es stellt eine vereinfachte und einheitliche Schnittstelle zu einem komplexen Subsystem.
InformationsquelleAutor der Antwort Anand Patel
Einer Fassade stellt eine vereinfachte Funktionen, die meist genannt werden und die Umsetzung verbirgt die Komplexität, die Kunden sonst zu tun haben. Im Allgemeinen ist die Implementierung verwendet mehrere Pakete, Klassen und Funktionen. Gut geschrieben Fassaden machen den direkten Zugriff von anderen Klassen selten. Wenn ich zum Beispiel Besuch von einem Geldautomaten zurückzuziehen, eine gewisse Menge. Die ATM verbirgt, ob es geht direkt an die eigene bank oder wird es über eine Verhandlungslösung Netzwerk für eine externe bank. Das ATM wirkt wie eine Fassade konsumieren mehrere Geräte und sub-Systeme, die als client muss ich nicht direkt behandeln.
InformationsquelleAutor der Antwort ManojPatra
InformationsquelleAutor der Antwort Sean Hunter
Weiteres Beispiel der Fassade:
sagen, dass Ihre Anwendung eine Verbindung zur Datenbank und anzeigen der Ergebnisse auf der Benutzeroberfläche. Sie können Fassade, um Ihre Anwendung konfigurierbar ist, wie in laufen mit der Datenbank oder mit mock-Objekten. So machen Sie alle die Datenbank-Aufrufe an die Fassade-Klasse, wo Sie gelesen werden, app-config und entscheiden, um das Feuer der db-Abfrage oder geben Sie das mock-Objekt. diese Art der Anwendung db wird unabhängig in dem Fall die db nicht verfügbar ist.
InformationsquelleAutor der Antwort aishu
Ein design pattern ist eine Allgemeine, wiederverwendbare Lösung für ein Häufig auftretendes problem in einem gegebenen Kontext im software-design.
Die Fassade design pattern ist ein strukturelles Muster definiert eine Weise, die für das erstellen von Beziehungen zwischen Klassen oder Entitäten. Die Fassade design pattern wird verwendet, um zu definieren, die eine vereinfachte Schnittstelle zu einem komplexeren subsystem.
Dem Fassade-Muster ist ideal beim arbeiten mit einer großen Anzahl von voneinander abhängigen Klassen oder Klassen, die erfordern die Verwendung von mehreren Methoden, vor allem, wenn Sie kompliziert zu bedienen ist oder zu schwierig zu verstehen. Die Fassade-Klasse ist ein "wrapper", enthält eine Reihe von Elementen, die leicht zu verstehen und einfach zu bedienen. Diese Mitglieder Zugriff auf das subsystem im Namen der Fassade Benutzer, verstecken die details der Implementierung.
Die Fassade design pattern ist besonders nützlich, wenn die Verpackung Subsysteme, die sind schlecht konzipiert, aber nicht umgestaltet werden, weil der Quellcode nicht verfügbar ist oder die vorhandene Schnittstelle ist weit verbreitet. Manchmal können Sie sich entscheiden, mehr als eine Fassade zu bieten Teilmengen von Funktionen für verschiedene Zwecke.
Ein Beispiel für die Verwendung des Fassade-Musters ist für die Integration in eine web-site mit einer business-Anwendung. Die vorhandene software kann große Mengen von business-Logik zugegriffen werden muss, die in einer bestimmten Art und Weise. Die Website erfordern möglicherweise nur eingeschränkten Zugriff auf die Geschäftslogik. Zum Beispiel, die Website möglicherweise erforderlich, um zu zeigen, ob ein Element für den Verkauf erreicht hat, einen begrenzten Bestand. Die IsLowStock Methode der Fassade-Klasse könnte einen booleschen Wert zurück, um dies anzugeben. Hinter den kulissen, diese Methode verstecken, die Komplexität der Verarbeitung der aktuellen physischen Bestand, die eingehenden Lager, die zugewiesenen Elemente und die niedrigen Lagerbestände für jedes Element.
InformationsquelleAutor der Antwort Program-Me-Rev
Fassade beschreibt die Kapselung eines komplexen Subsystems innerhalb einer einzigen interface-Objekt. Dies verringert die Lernkurve notwendig, um erfolgreich eine Hebelwirkung auf das subsystem. Es fördert auch die Entkopplung des Teilsystems aus der potenziell vielen Kunden. Auf der anderen Seite, wenn die Fassade ist der einzige Zugangspunkt für das Teilsystem, es schränkt die Funktionen und die Flexibilität, dass "power-user" benötigen.
InformationsquelleAutor der Antwort
Bezug auf Ihre Fragen:
Ja. Es ist ein wrapper für viele sub-Systeme in der Anwendung.
Alle design-patterns sind auch die normalen Klassen. @Unmesh Kondolikar richtig beantwortet diese Abfrage.
Gemäß GoF, Fassade design pattern ist defind als :
Bieten eine vereinheitlichte Schnittstelle für einen Satz von Schnittstellen eines Subsystems. Fassade-Muster definiert eine übergeordnete Schnittstelle, die das subsystem einfacher zu benutzen
Den Fassade Muster wird normalerweise verwendet, wenn:
Nehmen wir ein Wort, das Beispiel von cleartrip website.
Diese website bietet Optionen zum Buch
Code-snippet:
Erklärung:
FlightBooking, TrainBooking and HotelBooking
sind verschiedene sub-Systeme von großen system :TravelFacade
TravelFacade
bietet eine einfache Schnittstelle zum Buch eine der nachfolgenden OptionenBuch-API von TravelFacade ruft intern unter APIs von sub-Systemen
In dieser Weise
TravelFacade
bietet eine einfachere und API-out aussetzen sub-system-APIs.Ausbeute : ( aus journaldev Artikel von Pankaj Kumar)
Haben Sie einen Blick auf sourcemaking Artikel auch für ein besseres Verständnis.
InformationsquelleAutor der Antwort Ravindra babu
Eine kurze und einfache Erklärung:
in einem subsystem werden.
einfacher zu verwenden.
Versuchen zu verstehen, das Szenario mit und ohne Fassade:
Wenn Sie wollen, um das Geld aus accout1 zu account2 dann die beiden Subsystemen aufgerufen werden, vom account1 und Einzahlung auf account2.
InformationsquelleAutor der Antwort Arun Raaj
Alle design patterns sind einige Klassen angeordnet, in die eine oder andere Art, die Anzüge eine bestimmte Anwendung. Der Zweck des Fassade Musters ist zu verstecken die Komplexität einer operation oder Operationen. Können Sie ein Beispiel sehen und lernen Fassade-Muster aus http://preciselyconcise.com/design_patterns/facade.php
InformationsquelleAutor der Antwort Sai Sunder
Es ist im Grunde single window clearance system.Ordnen Sie jede Arbeit delegieren, um bestimmten Methode in einer anderen Klasse.
InformationsquelleAutor der Antwort Saurabh
Wahrscheinlich die beste Erklärung des Fassade Muster (und viele andere)
http://www.jakowicz.com/facade-pattern-in-php/
InformationsquelleAutor der Antwort ymakux
Fassade Design Pattern kommt unter Strukturellen Design-Muster. In der kurzen Fassade bedeutet das äußere Erscheinungsbild. Es bedeutet in der Fassade design pattern wir etwas verstecken und zeigen nur das, was tatsächlich-client benötigt.
Lesen Sie mehr im blog unter:
http://www.sharepointcafe.net/2017/03/facade-design-pattern-in-aspdotnet.html
InformationsquelleAutor der Antwort user1694660
Dem Fassade-Muster bietet eine vereinheitlichte Schnittstelle, um die subsystem-interface-Gruppe. Die Fassade definiert eine high-level-Schnittstelle, die vereinfacht die Arbeit mit dem subsystem.
InformationsquelleAutor der Antwort Taras Melnyk