Maison > Problème commun > Quel est le modèle d'observateur ?

Quel est le modèle d'observateur ?

Guanhui
Libérer: 2020-06-28 16:12:29
original
4424 Les gens l'ont consulté

Le modèle d'observateur est un modèle de comportement d'objet qui définit une relation de dépendance un-à-plusieurs entre les objets. Lorsque l'état d'un objet change, tous les objets qui en dépendent sont notifiés et sont automatiquement mis à jour, améliorant ainsi. maintenabilité et réutilisabilité des applications.

Quel est le modèle d'observateur ?

Le modèle d'observateur est un modèle de comportement d'objet. Il définit une relation de dépendance un-à-plusieurs entre les objets. Lorsque l'état d'un objet change, tous les objets qui en dépendent sont notifiés et automatiquement mis à jour. Dans le modèle observateur, le sujet est l'éditeur des notifications. Lorsqu'il émet des notifications, il n'a pas besoin de savoir qui sont ses observateurs. Un certain nombre d'observateurs peuvent s'abonner et recevoir des notifications. Le modèle d'observateur est non seulement largement utilisé dans l'interaction entre les éléments de l'interface logicielle, mais également dans l'interaction entre les objets métier, la gestion des autorisations, etc.

Le motif Observer sépare parfaitement l'observateur de l'objet observé. Par exemple, l'interface utilisateur peut servir d'observateur, et les données métiers sont observées. L'interface utilisateur observe les changements dans les données métiers, et lorsque les changements de données sont découverts, ils sont affichés sur l'interface. L’un des principes de la conception orientée objet est que chaque classe du système se concentrera sur une certaine fonction plutôt que sur d’autres aspects. Un objet fait une chose et le fait bien. Le modèle Observer trace des limites claires entre les modules, améliorant ainsi la maintenabilité et la réutilisation des applications.

Le modèle de conception d'observateur définit une relation de combinaison un-à-plusieurs entre les objets, de sorte que lorsque l'état d'un objet change, tous les objets qui en dépendent sont notifiés et automatiquement actualisés.

Comment implémenter le modèle d'observateur

Il existe de nombreuses façons d'implémenter le modèle d'observateur. Fondamentalement, le modèle doit contenir deux rôles : l'observateur et l'objet observé. Dans l'exemple que nous venons de citer, les données métiers sont l'objet observé et l'interface utilisateur est l'observateur. Il existe une relation logique « d'observation » entre l'observateur et ce qui est observé. Lorsque ce qui est observé change, l'observateur observera ces changements et réagira en conséquence. Si un tel processus d'observation est utilisé entre l'interface utilisateur et les données métier, il peut garantir une frontière claire entre l'interface et les données. En supposant que les exigences de l'application changent et que les performances de l'interface doivent être modifiées, seule une interface utilisateur et. les données commerciales doivent être reconstruites. Aucun changement n’est nécessaire.

Scénarios d'utilisation du modèle d'observateur

1 Lorsqu'un modèle abstrait a deux aspects, dont l'un dépend de l'autre. Encapsulez les deux dans des objets séparés afin qu’ils puissent être modifiés et réutilisés indépendamment.

2. Lorsque les modifications apportées à un objet nécessitent des modifications sur d'autres objets en même temps, on ne sait pas combien d'objets doivent être modifiés.

3. Lorsqu'un objet doit notifier d'autres objets, mais il ne peut pas supposer qui sont les autres objets. En d’autres termes, vous ne voulez pas que ces objets soient étroitement couplés.

Tutoriel recommandé : "Tutoriel PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal