IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Programmation orientée objet par prototype avec jQuery


précédentsommairesuivant

IX. Exemple, le patron de conception template

Mise en oeuvre du patron de conception template (poopj10.html)
Sélectionnez
try {
  /*
   * Mise en oeuvre du patron de conception template.
   *
   * Voir le tutoriel de Thierry Templier, troisième
   * partie page 13
   */
  var ParcoursListe = $.dvjhClass._create({
	_builder: function(){
		// Même vide, le _buider doit toujours exister !
	},
	creerSousListe: function(liste){
		var n = liste.length;
		var nouvelleListe = [];
		
		for (var indice = 0; indice < n; indice++){
			var valeur = liste[indice];
			var nouvelleValeur = this.traiterElement(indice, valeur);
			
			if (nouvelleValeur != null){
				nouvelleListe.push(nouvelleValeur);
			}
		}
		
		return nouvelleListe;
	}
  },
  {
	_abstract: true
  });

  var FiltrageListe = $.dvjhClass._create(ParcoursListe, {
	_builder: function(valeurMinimum){
		this._base(arguments.callee, ParcoursListe, arguments);
		this.valeurMinimum = valeurMinimum;
	},
	traiterElement: function(indice, valeur){
		if (valeur >= this.valeurMinimum){
			return valeur;
		}
	}
  });

  var filtrage = new FiltrageListe(10);

  var liste = [10, 1, 4, 13, 14];

  var nouvelleListe = filtrage.creerSousListe(liste);

  console.log(nouvelleListe);
}
catch(err){
  alert(err);
}

précédentsommairesuivant