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