在wpf mvvm light中,Messenger服务和数据服务有什么区别

时间:2014-09-10 08:50:57

标签: wpf mvvm mvvm-light messenger dataservice

我正在尝试了解Wpf的MvvmLight框架。首先看信使服务数据服务似乎也是这样。它们都可以用于将数据从ViewModel发送到View。还有什么吗?

请帮忙。

1 个答案:

答案 0 :(得分:1)

数据服务用于从模型(或后端服务器)获取数据。 Messenger是一个组件,用于允许组件(主要是视图模型,但不仅仅是)以松散耦合的方式在它们之间传递消息。

细节: 在MVVM中,视图模型通常不应该知道"知道"彼此。因此,当视图模型A想要响应另一个视图模型B中发生的事情时,A获取B的引用并附加事件处理程序并不是一个好习惯。信使允许A简单地注册到特定类型的消息,并且B允许B发送这些消息而其中没有任何一个具有彼此的引用。他们只需要知道"知道"消息类型。

数据服务是用于从后端获取数据的组件。视图模型引用它并请求数据。

希望这有帮助