VI. Exemple, le patron de conception observateur▲
Mise en oeuvre du patron de conception observateur (poopj6.html)
Sélectionnez
try {
/*
* Mise en oeuvre du patron de conception observateur.
*
* Voir le tutoriel de Thierry Templier, troisième
* partie page 13
*/
function enregistrerObservateur(objet, methode, observateur){
var objMethode = objet[methode];
objet["__" + methode] = objMethode;
objet[methode] = function(){
observateur();
objMethode.apply(this, arguments);
}
}
var Personne = $.dvjhClass._create({
_builder: function(prenom, nom){
this.prenom = prenom;
this.nom = nom;
},
adresse: function(rue, ville){
var strN = this.prenom + " " + this.nom;
var strV = rue + ", " + ville;
console.log(strN, strV);
}
});
var dvjh = new Personne("Daniel", "Hagnoul");
enregistrerObservateur(dvjh, "adresse", function(){
dvjh.nom = "DVJH";
});
dvjh.adresse("Chaussée de Tongres 207", "Bavais");
console.log(dvjh);
}
catch(err){
alert(err);
}

