Heim >Web-Frontend >js-Tutorial >Beispiel für einen klassischen, einfachen Factory-Mustercode für ein JavaScript-Entwurfsmuster

Beispiel für einen klassischen, einfachen Factory-Mustercode für ein JavaScript-Entwurfsmuster

黄舟
黄舟Original
2017-03-20 11:08:021319Durchsuche

EinfachFactory-Muster ist eine Methode, die bestimmt, welche Klasseninstanz erstellt werden soll, und diese Instanzen haben oft eine identische Schnittstelle Muster werden hauptsächlich verwendet, wenn der zu instanziierende Typ nicht zur Kompilierungszeit, sondern zur Ausführungszeit bestimmt wird. Vereinfacht ausgedrückt ist es wie mit dem Getränkeautomaten in der Speisekammer des Unternehmens. Je nachdem, welchen Knopf man drückt, möchte man Kaffee oder Milch.

Das einfache Factory-Muster ist auch sehr nützlich beim Erstellen von Ajax-Objekten

Diese Bibliothek bietet mehrere Ajax-Anfragemethoden, einschließlich Get und Post von XHR-Objekten sowie die domänenübergreifende Verwendung von JSONP und iframe. Zur Vereinfachung der Verwendung werden diese Methoden in derselben Schnittstelle abstrahiert.

var request1 = Request(‘cgi.xx.com/xxx’ , ”get’ );
request1.start();
request1.done( fn );
var request2 = Request(‘cgi.xx.com/xxx’ , ”jsonp’ );
request2.start();
request2.done( fn );

Request ist eigentlich eine Factory-Methode, ob eine Instanz von xhr oder eine Instanz von jsonp generiert werden soll. wird durch nachfolgenden Code bestimmt.

Tatsächlich ist in js der sogenannte Konstruktor auch eine einfache Fabrik. Ich habe gerade ein neues Kleidungsstück genehmigt. Lass uns dieses Kleidungsstück ausziehen und einen Blick hineinwerfen.

Mit diesem Code kann New in Browsern wie Firefox und Chrome perfekt simuliert werden.

       function A( name ){
this.name = name;
}
function 
Object
Factory(){
var obj = {},
Constructor = 
Array
.prototype.shift.call( arguments );
obj.
proto
 =  typeof Constructor .prototype === ‘number’  ? Object.prototype
:  Constructor .prototype;
var ret = Constructor.apply( obj, arguments );
return
 typeof ret === ‘object’ ? ret : obj;
}
var a = ObjectFactory( A, ‘svenzeng’ );
alert ( a.name );  //svenzeng

Dieser Code stammt aus der Beschreibung von New und Konstruktor in es5 Wie Sie sehen können, ist das sogenannte Neue selbst nur ein Prozess des Kopierens und Umschreibens eines Objekts. Was generiert wird, wird durch die Parameter bestimmt, die beim Aufruf von ObjectFactory übergeben werden.

Verwandte Artikel:

Detaillierte Erklärung des klassischen JavaScript-Designmusters, des Strategiemusters

Detaillierte Erklärung des klassischen JavaScript-Designmusters , das Singleton-Muster

Detaillierte Einführung in das Beobachtermuster von JavaScript-Entwurfsmustern

Das obige ist der detaillierte Inhalt vonBeispiel für einen klassischen, einfachen Factory-Mustercode für ein JavaScript-Entwurfsmuster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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