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