Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
helloworld:design_pattern:publish_subscribe [2017/07/08 23:13] – Pas d'affichage de la vidéo en ligne. root | helloworld:design_pattern:publish_subscribe [2020/05/10 23:52] (Version actuelle) – Suppression de la taille par défaut pour les images root |
---|
* Observer/Observable pattern is mostly implemented in a synchronous way, i.e. the observable calls the appropriate method of all its observers when some event occurs. The Publisher/Subscriber pattern is mostly implemented in an asynchronous way (using message queue). | * Observer/Observable pattern is mostly implemented in a synchronous way, i.e. the observable calls the appropriate method of all its observers when some event occurs. The Publisher/Subscriber pattern is mostly implemented in an asynchronous way (using message queue). |
* In the Observer/Observable pattern, the observers are aware of the observable. Whereas, in Publisher/Subscriber, publishers and subscribers don't need to know each other. They simply communicate with the help of message queues. | * In the Observer/Observable pattern, the observers are aware of the observable. Whereas, in Publisher/Subscriber, publishers and subscribers don't need to know each other. They simply communicate with the help of message queues. |
<cite>[[http://stackoverflow.com/questions/15594905/difference-between-observer-pub-sub-and-data-binding|Source]], {{ :helloworld:design_pattern:publish_subscribe:model_view_controller_-_difference_between_observer_pub_sub_and_data_binding_-_stack_overflow.htm.maff |Archive}}</cite></blockquote> | <cite>[[http://stackoverflow.com/questions/15594905/difference-between-observer-pub-sub-and-data-binding|Difference between Observer, Pub/Sub, and Data Binding]], {{ :helloworld:design_pattern:publish_subscribe:model_view_controller_-_difference_between_observer_pub_sub_and_data_binding_-_stack_overflow_2020-03-02_22_19_49_.html |Archive du 24/03/2013 le 02/03/2020}}</cite></blockquote> |
| |
===Utilisation avec le modèle MVC=== | ===Utilisation avec le modèle MVC=== |
Les inscrits sont les différents composants de chaque vue et c'est le modèle qui publie les modifications aux inscrits. Cela rajoute donc une étape supplémentaire dans la communication du modèle vers la vue. | Les inscrits sont les différents composants de chaque vue et c'est le modèle qui publie les modifications aux inscrits. Cela rajoute donc une étape supplémentaire dans la communication du modèle vers la vue. |
| |
[[http://howtodoinjava.com/scripting/implement-mvc-and-pubsub-in-javascript/|Source]], {{ :helloworld:design_pattern:publish_subscribe:implement_mvc_and_pubsub_in_javascript_-_howtodoinjava.maff |Archive}} | [[http://howtodoinjava.com/scripting/implement-mvc-and-pubsub-in-javascript/|Implement MVC and PubSub in JavaScript]], {{ :helloworld:design_pattern:publish_subscribe:implement_mvc_and_pubsub_in_javascript_-_howtodoinjava_2020-03-02_22_18_13_.html |Archive le 02/03/2020}} |
| |
{{:helloworld:design_pattern:publish_subscribe:uml.png?797|UML publisher subscriber}} | {{:helloworld:design_pattern:publish_subscribe:uml.png|UML publisher subscriber}} |
| |
[[https://www.youtube.com/watch?v=frGy-nGoGUY|Source]], {{ :helloworld:design_pattern:publish_subscribe:pub_sub_design_pattern-frgy-ngoguy.mp4?linkonly |Archive}} | [[https://www.youtube.com/watch?v=frGy-nGoGUY|Pub/Sub Design Pattern]], {{ :helloworld:design_pattern:publish_subscribe:pub_sub_design_pattern-frgy-ngoguy.mp4?linkonly |Archive du 12/04/2015 le 02/03/2020}} |
| |
[[:helloworld:design_pattern:publish_subscribe:java|Java]] | [[:helloworld:design_pattern:publish_subscribe:java|Java]] |