Il y a une tâche connectée à changeant état d'une entité forte>. Et je suis assez confus pensant si cela devrait être une approche basée sur des événements qui implique quelque chose comme J'ai trouvé un article qui montre un modèle de domaine (ou un morceau de celui-ci) qui utilise un modèle d'état: http : //www.prowareness.com/blog/? p = 1448 p> Le système de commande est assez proche de mon modèle de domaine. Donc, l'exemple est génial. Mais je me demande toujours si c'est une bonne pratique compte tenu du modèle MVC et s'il est possible de mettre en œuvre avec suivons l'exemple: P> Premièrement, voici une entité de domaine appelée et l'interface d'usine d'état est défini comme ceci: p> merci! p> p> CQRS code> ou je peux utiliser un modèle d'état code> code> et laissez toute la logique à l'intérieur des entités.
Ravendb / NHibernate code>? P>
idée code>: p>
abstraittate code> est: p>
abstraittate code> tout cela change en conséquence. Li>
ol>
3 Réponses :
CQRS et le modèle d'état sont des choses complètement différentes. Le modèle d'état fournit un moyen de mettre en œuvre un ensemble d'états ou d'états pour un seul objet, tandis que les CQRS sont un style architectural. MVC n'a rien à voir avec le modèle d'état ni les CQRS et constitue un style architectural pour la couche de présentation. Vous pouvez utiliser le motif d'état en conjonction avec NHibernate, mais le mappage sera non trivial et vous devrez mettre en place un IUSERType personnalisé à mapper vers la classe d'état appropriée en fonction des champs. Ravendb est très différent de NHibernate et de cartographie sera un peu plus facile avec elle, mais c'est un système de base de données complètement différent. P>
CQRS serait si vous utilisiez SQL pour récupérer un outil d'administrateur et Ravendb pour le front-end pour exécuter des recherches. Vous auriez besoin de pousser des données vers Ravendb de SQL dans ce scénario de la CQRS fictif. p>
Vous êtes peut-être intéressé par l'état apatride, une machine d'état hiérarchique de Nicholas Blumhardt. Lisez ceci mon Cette réponse ici concernant c'est aptitude. Voici un Exemple de processeur de flux de travail simple de mon Blog , et je l'utilise actuellement avec Le modèle de tuyau et de filtre , et cela fonctionne assez bien. P>
J'ai aussi une implémentation qui utilise les apatrides avec Ravendb si vous êtes intéressé. p>