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