Envoyé par
ego
Tu peux faire un truc un peu plus cool en introduisant la notion d'Event. Chaque Event a un type (chaine de caractères ou entier) et un "Observable". Quand tu "Notifie", tu passes un Event spécifique de ton Observable (i.e l'attribut 'type' de ton Event est spécifique de ton 'Observable'). Le Update fait alors un test sur le type de l'Event; un switch est facile si le 'type' est un entier.
Un pattern que j'aime bien c'est une version moins liée que l'Observateur/Observable et qui passe par l'usage exclusive d'Event et d'un "InfoBUS". Les Observateurs s'abonnent à des "Event type" auprès de l'InfoBUS et quand les Observable font un "notifie", ils ne font en fait que publier un Event auprès de l'InfoBUS. C'est l'InfoBUS qui lui sait qui est abonné à tel ou tel "Event type" et donc fait le relai vers les Observateurs. Ainsi les Observables ne connaissent pas les Observateurs et inversement. Tout se passe au travers des Event.
C'est en fait une version simplifiée de l'API JMS en Java.
Partager