Frage

Was ist der Unterschied zwischen einem ‚Abstraktion‘ und einer ‚Fassade‘?

Gibt es einen Unterschied überhaupt? Oder sind die Begriffe austauschbar?

War es hilfreich?

Lösung

Fassadenmuster ist eine vereinfachte Schnittstelle zu einer größeren, möglicherweise komplexen Code-Basis. Die Code-Basis kann eine einzige Klasse, oder mehr. Die Fassade nur gibt Ihnen eine einfache Schnittstelle zu.

Abstraction wird verwendet, um ein Konzept zu vertreten, aber nicht zu gebunden sein jede bestimmte Instanz. (Dh: Eine abstrakte Klasse). Dies bedeutet nicht, vereinfacht (wie die Fassade Muster des Fall sind), sondern vielmehr eine ‚gemeinsame‘ Schnittstelle oder Darstellung zu machen.

Andere Tipps

Fassade ist ein spezielles Design-Muster, sollte die internen Sachen in einem Paket verstecken / Modul aus seinen Clients hinter einem gut definierte Schnittstelle. Es verbirgt sich in der Regel über mehrere Schnittstellen / Klassen hinter einem einzigen gemeinsamen eins, daher der Name.

‚Abstraktion‘ ist ein allgemeiner Begriff, dh die konkreten Details von etwas von der Außenwelt zu verbergen.

So sind diese beiden nicht austauschbare Begriffe.

Fassade ist ein GoF-Entwurfsmuster, sehr spezifisch. In essense geht es um über komplexe Funktionalität von dem Hauptkörper der Anwendung versteckt.

Abstraktion ist ein vager Begriff im Zusammenhang mit versteckter Funktionalität eines Dienst von seinem Kunden.

Abstrakt bedeutet mir die gemeinsamen Teile einer Sammlung von Dingen zu nehmen und eine Basis, etwas von ihnen zu schaffen, die die Sammlung dann auf zeichnen kann, wie eine Art übergeordneten Klasse.

Eine Fassade ist ein Gesicht (im wörtlichen Sinne), so dass sie Analogie von einer Basisklasse nicht ganz halten. Eine Fassade ist eher eine Schnittstelle, so dass es nicht auf die Dinge im Zusammenhang werden müßte, die sie verwenden. Ich denke, es eher wie eine Maske. Meine Klasse wird einen „Einweg“ Maske, zum Beispiel.

So ist der Unterschied in meinem Kopf, ist, dass ein abstraktes Muster eine Hierarchie ermöglicht gebaut werden, wo als Fassadenmuster ermöglicht Klassen ähnlich aussehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top