Heim >Web-Frontend >js-Tutorial >JavaScript-Entwurfsmuster Serie 5: Adaptermuster
Dieser Artikel stellt Ihnen die fünfte Reihe von JavaScript-Entwurfsmustern vor: Interessierte Freunde können einen Blick darauf werfen
Das sogenannte Adaptermuster Es dient dazu, eine neue Schnittstelle zu verwenden, um die vorhandene Schnittstelle zu umschließen und die Nichtübereinstimmung zwischen der Klasse und der API zu beheben. Objekte, die dieses Muster verwenden, werden auch Wrapper genannt.
Zum Beispiel haben wir eine Schnittstelle:
function api (x1, x2, x3) { console.log(x1 + x2 + x3); // 用console.log来模拟接口的相关操作 }
Dann haben wir Objektdaten:
var obj = { a: '我', b: '很', c: '帅' }
Wir können feststellen, dass unsere Daten nicht mit den Parametern der Schnittstelle übereinstimmen , Es ist nicht möglich, obj direkt einzugeben, um die API aufzurufen.
Was sollen wir jetzt tun? Wir können eine Adapterfunktion definieren:
function adapter (o) { // 通过适配器函数来调用目的api api(o.a, o.b, o.c); } adapter(obj); // 我很帅
Auf diese Weise können wir über die Adapterfunktion adapter() direkt obj übergeben, um die API aufzurufen, und das Problem der Nichtübereinstimmung zwischen der Klasse und der API wird behoben gelöst.
Das Adaptermuster besteht darin, die vorhandene Schnittstelle mit einer neuen Schnittstelle zu umschließen, um die Nichtübereinstimmung zwischen der Klasse und der API zu beheben. Objekte, die dieses Muster verwenden, werden auch Wrapper genannt.
Anwendbare Situationen
Verwenden Sie ein vorhandenes Objekt, dessen Methoden- oder Eigenschaftenschnittstelle jedoch nicht unseren Anforderungen entspricht.
Möchten Sie ein wiederverwendbares Objekt erstellen, das mit anderen nicht verwandten oder unsichtbaren Objekten zusammenarbeiten kann
Möchten Sie Die verwendeten Objekte sind bereits vorhanden, aber prototypische Vererbung kann nicht auf jede einzelne angewendet werden, um sie an ihre Schnittstelle anzupassen. Ein Objektadapter kann die Schnittstellenmethoden oder Eigenschaften seines übergeordneten Objekts anpassen.
Unterschiede zu anderen Modi
Obwohl Adapter und Brücken ähnlich sind, ist der Ausgangspunkt der Überbrückung unterschiedlich Der Zweck besteht darin, den Schnittstellenteil vom Implementierungsteil zu trennen, damit sie einfacher und unabhängiger geändert werden können.
Das Dekoratormuster verbessert die Funktionalität des Objekts, ohne seine Schnittstelle zu ändern, sodass es dem Programm eine bessere Transparenz bietet als der Adapter.
Der Proxy-Modus definiert einen Proxy für eine andere Schnittstelle, ohne deren Schnittstelle zu ändern.
Der Fassadenmodus dient der Vereinfachung einer Benutzeroberfläche und bietet keine zusätzlichen Optionen.
Der Adapter wandelt eine Schnittstelle in eine andere Schnittstelle um und filtert weder bestimmte Funktionen heraus noch vereinfacht er die Schnittstelle.
Verwandte Empfehlungen:
JavaScript-Designmuster Serie Eins: Factory-Muster
JavaScript-Designmuster Serie Drei: Builder-Modus
Das obige ist der detaillierte Inhalt vonJavaScript-Entwurfsmuster Serie 5: Adaptermuster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!