2011-07-20 3 views
2

Je viens de lire ce qui suit: cqrs article. C'est tout à fait logique, mais je n'ai pas répondu à la question que je cherchais à l'origine. Ignorant la question de savoir si cela est logique, quelle serait l'approche du CQRS pour créer un nouveau record? Dans l'article, ils ont cette image: The formCQRS, WPF, remplissage de formulaire

Ils montrent que base DTO aurait vous changer le champ d'état, basé sur les tâches aurait un bouton de tâche étiqueté "Désactiver". Maintenant, imaginez que le travail ne consistait pas simplement à désactiver le produit, mais à en créer un nouveau. Vous devez remplir tous les champs, gérer les problèmes de validation. Comment cela fonctionne-t-il dans un monde CQRS? Je commence à arriver à la conclusion que dans mon monde WPF, mon ViewModel/View fonctionnerait comme d'habitude, contenant la validation et ainsi de suite, mais la méthode verbale CQRS Add serait quelque chose de simple comme Add (DTO) où DTO est fondamentalement un DTO ...

Répondre

3

Vous pouvez jeter un oeil à Udi Dahan's MSDN article où il parle de ces problèmes. Mon idée de base est que vous envoyez un message de création et que l'objet est valide ou non, et que vous pouvez en informer l'utilisateur plus tard si nécessaire.

+0

Bonnes choses, merci! C'est un peu bizarre, en ce sens que j'ai l'interface utilisateur fournie par WPF, avec toutes les possibilités de validation et de formatage, etc. Mais il me semblait toujours que je travaillais encore avec les DTO dans ce cas. Merci – Ian

+0

Le lien est cassé ... – Jack

1

Ce n'est probablement pas très différent du cas "désactiver". La seule différence (à part le fait que vous avez maintenant une commande différente avec des champs différents) est que vous allez toujours vouloir effectuer la validation au niveau du processeur de commande car il ne peut pas garantir que les données qu'il reçoit proviennent toujours d'un source fiable.