17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

tick at -1211995796<br />

tick at -1211995764<br />

tick at -1211995732<br />

tick at -1211995860<br />

tick at -1211995668<br />

tick at -1211995636<br />

tick at -1211995604<br />

tick at -1211995572<br />

<strong>Programmation</strong> orientée objet<br />

CHAPITRE 14<br />

L’intérêt de ce DP est de permettre l’extension d’une classe sans avoir à modifier son<br />

code, et de gérer chacune des extensions en fonction des situations et des instances :<br />

le visiteur greffe à une instance de la classe visitée une nouvelle fonctionnalité, dans le<br />

même principe que le DP Adapter.<br />

Chaque visiteur peut en outre gérer plusieurs types de classes visitées pour parcourir<br />

des structures hétérogènes.<br />

Observer<br />

Figure 14–3<br />

Schéma UML d’Observer<br />

Le DP Observer définit une dépendance de 1 à n entre un objet et une liste d’objets.<br />

Si l’objet change d’état, tous les objets associés, en l’occurrence les observateurs, sont<br />

notifiés de cet événement.<br />

Ce pattern est très répandu dans les systèmes d’interfaces graphiques, où chaque événement<br />

de l’utilisateur est intercepté par un objet qui est en charge de prévenir à son<br />

tour un certain nombre d’objets.<br />

Le pattern initialement proposé par GoF stipule que les observateurs sont sensibles à<br />

toute modification d’état de l’objet observé. Une variation, très communément<br />

adoptée, affine ce mécanisme en laissant chaque observateur s’inscrire à un événement<br />

précis et nommé.<br />

507

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!