Maison >interface Web >js tutoriel >Exemple de code de modèle d'usine simple classique de modèle de conception JavaScript

Exemple de code de modèle d'usine simple classique de modèle de conception JavaScript

黄舟
黄舟original
2017-03-20 11:08:021319parcourir

SimpleLe modèle d'usine est une méthode qui détermine quelle instance de classe créer, et ces instances ont souvent une interface identique. Le modèle est principalement utilisé lorsque le type à instancier n'est pas déterminé au moment de la compilation, mais est déterminé au moment de l'exécution. Pour faire simple, c'est comme la machine à boissons dans le garde-manger de l'entreprise. Vous voulez du café ou du lait selon le bouton sur lequel vous appuyez.

Le modèle d'usine simple est également très utile lors de la création d'objets ajax

Cette bibliothèque fournit plusieurs méthodes de requête ajax, notamment l'obtention et la publication d'objets xhr, ainsi que l'utilisation inter-domaines de jsonp et. iframe. Pour plus de commodité, ces méthodes sont résumées dans la même interface

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 est en fait une méthode d'usine Quant à savoir s'il faut générer une instance de xhr ou L'instance de jsonp. est déterminé par le code suivant.

En fait, en js, le soi-disant constructeur est aussi une simple usine. Je viens d’approuver un nouveau vêtement Enlevons ce vêtement et jetons un œil à l’intérieur.

Grâce à ce code, new peut être parfaitement simulé dans des navigateurs tels que Firefox et Chrome

       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

Ce code provient de la description de new et du constructeur dans es5. peut voir, ce qu'on appelle le nouveau lui-même n'est qu'un processus de copie et de réécriture d'un objet, et ce qui est généré est déterminé par les paramètres transmis lors de l'appel d'ObjectFactory.

Articles connexes :

Explication détaillée du modèle de conception JavaScript classique, le modèle de stratégie

Explication détaillée du modèle de conception JavaScript classique , le modèle singleton

Introduction détaillée au modèle d'observateur des modèles de conception JavaScript

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn