Le patron observateur est un patron de conception de la famille des patrons comportementaux. Il s'agit de l'un des vingt-trois patrons de l'ouvrage du « Gang of Four » Design Patterns – Elements of Reusable Object-Oriented Software. Il est utilisé pour envoyer un signal à des modules qui jouent le rôle dobservateurs. En cas de notification, les observateurs effectuent alors l'action adéquate en fonction des informations qui parviennent depuis les modules qu'ils observent (les observables). Les notions dobservateur et dobservable permettent de limiter le couplage entre les modules aux seuls phénomènes à observer. Le patron permet aussi une gestion simplifiée d'observateurs multiples sur un même objet observable. Il est recommandé dès qu'il est nécessaire de gérer des évènements, quand une classe déclenche l'exécution d'une ou plusieurs autres. Dans ce patron, le sujet observable se voit attribuer une collection d'observateurs qu'il notifie lors de changements d'états. Chaque observateur concret est chargé de faire les mises à jour adéquates en fonction des changements notifiés. Ainsi, l'observé n'est pas responsable des changements qu'il entraîne sur les observateurs. vignette|droite|350px|Diagramme UML du patron de conception Observateur. Par exemple, une classe produit des signaux (données observables), visualisée à travers des panneaux (observateurs) d'une interface graphique. La mise à jour d'un signal modifie le panneau qui l'affiche. Afin d'éviter l'utilisation de thread ou encore d'inclure la notion de panneau dans les signaux, il suffit d'utiliser le patron de conception observateur. Le principe est que chaque classe observable contient une liste dobservateurs ; ainsi, à l'aide d'une méthode de notification, l'ensemble des observateurs est prévenu. La classe observée hérite de Observable qui gère la liste des observateurs. La classe Observateur est quant à elle purement abstraite, la fonction de mise à jour ne pouvant être définie que par une classe spécialisée.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (5)
CS-108: Practice of object-oriented programming
Les étudiants perfectionnent leurs connaissances en Java et les mettent en pratique en réalisant un projet de taille conséquente. Ils apprennent à utiliser et à mettre en œuvre les principaux types de
MATH-212: Analyse numérique et optimisation
L'étudiant apprendra à résoudre numériquement divers problèmes mathématiques. Les propriétés théoriques de ces méthodes seront discutées.
PHYS-100: Advanced physics I (mechanics)
La Physique Générale I (avancée) couvre la mécanique du point et du solide indéformable. Apprendre la mécanique, c'est apprendre à mettre sous forme mathématique un phénomène physique, en modélisant l
Afficher plus
Séances de cours associées (32)
Gestion impérative des événements : le modèle d'observateur
Présente le modèle d'observateur largement utilisé pour les vues afin de réagir aux changements de modèle, avec des exemples d'éditeur, d'abonné et de consolidateur.
Modèle de conception d'observateur
Explore le modèle de conception Observer dans les interfaces graphiques à l'aide d'un simple exemple de feuille de calcul pour démontrer les mises à jour automatiques de la valeur.
Modèles de conception: Observateur / MVC
Explore l'implémentation des modèles de conception Observer et MVC en Java pour la mise à jour d'une interface de feuille de calcul.
Afficher plus
Publications associées (28)

From local resynchronization to global pattern recovery in the zebrafish segmentation clock

Andrew Charles Oates

Integrity of rhythmic spatial gene expression patterns in the vertebrate segmentation clock requires local synchronization between neighboring cells by Delta-Notch signaling and its inhibition causes defective segment boundaries. Whether deformation of the ...
ELIFE SCIENCES PUBLICATIONS LTD2021
Afficher plus
Concepts associés (2)
Programmation orientée objet
La programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation informatique. Elle consiste en la définition et l'interaction de briques logicielles appelées objets ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre. Il possède une structure interne et un comportement, et il sait interagir avec ses pairs.
Patron de conception
En informatique, et plus particulièrement en développement logiciel, un patron de conception (souvent appelé design pattern) est un arrangement caractéristique de modules, reconnu comme bonne pratique en réponse à un problème de conception d'un logiciel. Il décrit une solution standard, utilisable dans la conception de différents logiciels. Un patron de conception est issu de l'expérience des concepteurs de logiciels. Il décrit un arrangement récurrent de rôles et d'actions joués par des modules d'un logiciel, et le nom du patron sert de vocabulaire commun entre le concepteur et le programmeur.
MOOCs associés (16)
Cement Chemistry and Sustainable Cementitious Materials
Learn the basics of cement chemistry and laboratory best practices for assessment of its key properties.
Parallelism and Concurrency
(merge of parprog1, scala-reactive, scala-spark-big-data)
Functional Programming
In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks. You will also develop a solid foundation for rea
Afficher plus

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.