Heim > Web-Frontend > js-Tutorial > Hauptteil

Einführung in das Adaptermuster von JavaScript-Designmustern_Javascript-Kenntnisse

WBOY
Freigeben: 2016-05-16 16:24:00
Original
1238 Leute haben es durchsucht

Beschreibung des Adaptermodus

Beschreibung: Der Adaptermodus wird im Allgemeinen verwendet, wenn die zu verwendende Schnittstelle für diese Anwendung oder dieses System nicht geeignet ist und eine Klasse oder ein Objekt der Zwischenanpassungsschicht eingeführt werden muss

Szenario: Es ist, als hätten wir ein Mobiltelefon gekauft. Nachdem wir es gekauft hatten, stellten wir fest, dass das Ladekabel einen dreipoligen Stecker hat, es aber zu Hause nur zweipolige Steckdosen gibt. Aus Bequemlichkeitsgründen und um es überall aufladen zu können, müssen Sie einen universellen Ladeadapter kaufen, damit Sie Ihr Telefon zu Hause aufladen können. Andernfalls können Sie es nur in Ruhe lassen oder an einen Ort mit einer Steckdose gehen 🎜>

Da in der tatsächlichen Entwicklungsumgebung die vom alten System oder von Drittanbieteranwendungen bereitgestellten Schnittstellen nicht mit den von uns definierten Schnittstellen übereinstimmen, können solche alten oder Drittanbieterschnittstellen nicht in einer schnittstellenorientierten Programmierumgebung verwendet werden Wir verwenden die Anpassungsklasse, um die anzupassende Klasse zu erben, und lassen die Anpassungsklasse die Schnittstelle implementieren, um die Schnittstelle des alten Systems oder einer Drittanbieteranwendung einzuführen

Wenn Sie die Schnittstellenprogrammierung auf diese Weise verwenden, können Sie diese Anpassungsklasse verwenden, um indirekt die Schnittstelle des alten Systems oder einer Drittanbieteranwendung aufzurufen.

Wenn Sie in Javascript Code implementieren möchten, der dem Adaptermuster einer dynamischen objektorientierten Sprache ähnelt, können Sie die geerbte Instanz des Prototyps verwenden, um ihn zu implementieren, da dieser auf Schnittstellenbeschränkungen basiert, Javascript jedoch nicht So etwas wie eine Schnittstelle entfernen wir direkt die Schnittstellenimplementierungsklasse Target und simulieren ähnlichen Quellcode

Quellcode-Beispiel

1. Anzupassende Klassen und Schnittstellenmethoden:


Code kopieren

Der Code lautet wie folgt: Funktion Adaptee() { This.name = 'Adaptee';
}
Adaptee.prototype.getName = function() {
Geben Sie diesen.Namen zurück;
}




2. Gewöhnliche Implementierungsklasse [Da es in Javascript keine Schnittstelle gibt, wird die Implementierungsklasse direkt bereitgestellt]

Code kopieren

Der Code lautet wie folgt: Funktion Target() { This.name = 'Ziel';
}

Target.prototype.queryName= function() {
Geben Sie diesen.Namen zurück;
}




3. Anpassungskurs:


Code kopieren

Der Code lautet wie folgt: Funktion Adapte() { This.name = '';
}

Adapte.prototype = new Adaptee();

Adapte.prototype.queryName = function() { This.getName();

}




4. Anwendung:


Code kopieren

Der Code lautet wie folgt: var local = new Target(); local.queryName(); //Gewöhnliche Implementierungsklasse aufrufen
var adapte = new Adapte();
adapt.queryName(); //Rufen Sie die alte System- oder Drittanbieter-Anwendungsschnittstelle auf;



Weitere Anweisungen

Im vierten Schritt oben ähneln var local und var adapt der Schnittstellenreferenzbezeichnung in objektorientierten Sprachen wie Java und C#, wie zum Beispiel:


Code kopieren

Der Code lautet wie folgt: Schnittstelle Ziel { Öffentlicher String queryName();
}
//Schnittstellenreferenzpunkte auf
Target local = new RealTarget(); //Das ist die Target-Implementierungsklasse des oben genannten Javascript
local.queryName();

//Adapter
Target adapte = new Adapte();
adapt.queryName();




Es ist ersichtlich, dass die Adapterklasse die mittlere Schicht ist, die die Schnittstelle und die Zielklassenschnittstelle verbindet. Sie wird verwendet, um das Problem zu lösen, dass das erforderliche Ziel bereits vorhanden ist, wir können sie jedoch nicht direkt oder in Verbindung mit unserer verwenden Codedefinition, daher müssen wir den Adaptermodus verwenden. Der Adaptermodus wird auch als Konvertierungsmodus und Verpackungsmodus bezeichnet
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!