Bonjour,

Pour mon projet, j'ai implémenté une console. Elle appel des fonctions qui sont préalablement enregistrées dans une map.

Mon problème est le suivant: la console va avoir un impact non négligeable sur pas mal de classe.

Si dans un moteur d'affichage, on a une commande du genre

La console va trouver la fonction 'move' et l'appeler avec ses paramètres. Grâce au pattern Observer, je peux dire à mon cube qu'une commande le concernant a été émise.

Problème, comment lui passer les paramètres correspondants?

Dans le pattern, on appel une fonction notify(), mais comme je vais avoir des commandes avec ou sans paramètres, comment faire?

Une solution que je vois serait de transformer notify en notify(const std::vector<std::strings>& args) avec en premier champ dans le vecteur le nom de la commande, suivit des arguments.

Il faut ensuite trouver dans une map la fonction qui va bien et l'appeller..

En gros c'est le mécanisme de la console, mais je dois le refaire pour chaque objet qui observe la console...

Bref, je coince..
Si vous avez des idées..