MVVM中对象之间的exchanage消息的任何建议或最佳实践?

时间:2017-11-21 19:46:39

标签: c# mvvm-light

我有一个关于如何在对象之间消除消息的最佳实践问题?我找到了两种方法:

  1. 使用简单的Action和Func委托。
  2. 使用mvvm light toolkit messenger。 在第一种情况下,它不依赖于任何工具包,并且它易于使用,但我想知道案例2是否有任何好处,或者是否存在违反案例1的任何原则。
  3. 欢迎任何想法。

1 个答案:

答案 0 :(得分:1)

如果您想使用Action and Func delegates,ViewModels应该互相了解。但MVVM中的ViewModels与MVC中的Controllers类似,并且不应该直接引用彼此。这就是为什么在这里使用MVVM Light Toolkit's Messenger是一种首选方式。在这种情况下,您将拥有一个松散耦合的消息传递系统,而不会对应用程序的任何部分进行任何硬性引用。