Lors de la création d'un système d'état qui suit le state design pattern (qui fonctionne assez bien jusqu'à présent) et je me demande maintenant s'il existe un moyen d'envoyer des données arbitraires à ce système. Je pensais que cela pourrait être possible en utilisant une classe Stimulus. Le système lui-même est composé dans un autre objet qui peut répondre aux stimuli, et la machine d'état et les états eux-mêmes peuvent également avoir des stimuli, et ils passeront des niveaux externes vers les niveaux internes via des appels de fonction. Le problème étant que les stimuli doivent transporter des données arbitraires à ces différents niveaux, et je ne peux pas penser à un moyen simple de le sortir. Je pensais que cela pourrait être possible en utilisant un dynamic_cast
, mais je me demandais s'il pourrait y avoir une meilleure façon.Envoi de données arbitraires via plusieurs fonctions
1
A
Répondre
1
Si c'est vraiment arbitraire, dynamic_cast est votre meilleur choix. Si vous souhaitez que toutes les parties de la machine d'état travaillent sur un nombre fini de méthodes de données, il serait plus élégant d'avoir toutes les classes de données héritées d'une classe virtuelle pure qui décrit ces méthodes, alors faites tout passer par cette classe.
2
boost :: tout peut vous être utile selon ce que vous faites.
Questions connexes
- 1. vb.net - Fonctions et génériques typés arbitraires
- 2. Envoi d'informations de connexion via AJAX
- 3. Envoi MIDI via USB via Arduino
- 4. urllib2 envoi de données
- 5. Envoi de ctrl-E via MSComm1
- 6. Envoi de valeurs via les liens
- 7. Envoi d'Excel à un utilisateur via ASP.NET
- 8. Affichage/envoi de plusieurs formulaires dans jQuery
- 9. Envoi de données du service à l'activité
- 10. Comment stocker des données dans MySQL via plusieurs threads?
- 11. Envoi de classes Linq à SQL via le service Web
- 12. Envoi de données via port Com dans Windows Mobile (cadre compact)
- 13. Envoi de données volumineuses> 1 Mo via Windows Sockets viz en utilisant la fonction Envoyer
- 14. Envoi de données sur le socket AF_PACKET
- 15. Envoi de données gzippées dans WebRequest?
- 16. Envoi et réception de données XML
- 17. Envoi de courrier électronique via DatabaseMail avec C#
- 18. asp.net informations utilisateur arbitraires
- 19. Comment combiner plusieurs fonctions jquery
- 20. Envoi d'éléments multiples au contrôleur MVC via jQuery.Ajax
- 21. Télécharger des données arbitraires dans HTTP Post dans Flex
- 22. TagLib Sharp cadres arbitraires
- 23. Envoi d'une campagne d'e-mail en masse via ASP.NET
- 24. Envoi d'e-mails avec le journal des erreurs via CruiseControl
- 25. Envoi fichier Zip au client via la réponse avec DotNetZip
- 26. MySql - envoi lent des données phase
- 27. Associer des données arbitraires avec le contexte d'appel ejb
- 28. Comment stocker des données arbitraires dans un widget GWT?
- 29. Envoi de formulaires en arrière-plan
- 30. Jquery lier plusieurs fonctions à un élément
Si les classes de données implémentent toutes une interface particulière ("pure virtual class"), alors pourquoi s'embêter avec dynamic_cast? Pourquoi ne pas simplement appeler cette interface? –