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);
}

