Bonjour, je m'interroge sur le diagramme UML du pattern Observer. J'ai récemment eu une formation sur les design patterns. On nous a donc présenté le schéma suivant pour le pattern Observer.
Nous avons ensuite fait un exercice. Cet exercice ne mentionnait qu'un unique et seul sujet. N'ayant pas de raison d'implémenter les traitements d'abonnement dans une classe mère, j'ai réalisé le schéma suivant :
(J'ai renommé les classes pour ne pas mettre l'énoncé de l'exercice)
Le formateur a ensuite déclaré que je ne respectais pas le design pattern car je n'avais pas d'association entre une classe abstraite et l'interface Observer.
Après une recherche sur internet, on retrouve un schéma similaire sans la classe abstraite pour désigner le pattern Observer. Je suis conscient que si l'on a plusieurs sujets, le premier schéma est beaucoup plus générique car les méthodes Add, Remove et Notify sont définies dans une classe mère pouvant être utilisées pour chaque sujet.
Mais si on a un seul sujet, la classe abstraite est-elle obligatoire ? Peut-on appeler cela un Pattern Observer ? Manque-t-il des informations pour rendre la modélisation UML compréhensible ?
Merci pour vos réponses.
Partager