2010-06-25 4 views
2

En termes de communication de différents messages dans une application serait une bonne idée de créer une classe pour chaque type de message? Certains de mes messages auront besoin d'une référence à un objet modèle.MVVM Light Messaging

Par exemple DoThisMessageType:

Messenger.Default.Send<DoThisMessageType>(_doThisMessageType); 

Messenger.Default.Register<DoThisMessageType>(this, delegate(DoThisMessageType dt) 
{ 
    // do something 
}); 

Comment utilisez-vous des messages dans vos applications? Les gardez-vous tous ensemble en un seul endroit?

Répondre

3

Définitivement une classe différente pour chaque type de message. Cela permet de garder l'enregistrement des gestionnaires simple.

Pour vous aider à regrouper vos types de message, je suggère d'avoir un type MessageBase dont ils dérivent tous. Cela ouvre de multiples façons de découvrir tous les types de messages traités par votre application - en utilisant Reflection par exemple, ou la fonctionnalité Go to Implementation de Resharper.

+0

Oui, recommandé. Vous pouvez également utiliser une structure pour stocker des chaînes de type message. Dim X comme nouveau NotificationMessage (Of String) (MessageTypes.DoSomething1) par exemple. –

Questions connexes