Mediator / EventAggregator差异

时间:2013-01-22 10:30:21

标签: .net wpf mvvm design-patterns loose-coupling

此外,当我需要在松散耦合的对象之间进行通信时(例如,MVVM的ViewModel),关于最佳编程实践的不同书籍和博客建议使用Mediator / EventAggregator模式。 我的问题是这些模式之间的差异/关系。 有人能为我描述一下吗?

1 个答案:

答案 0 :(得分:4)

这两个主要是出于同样的原因使用;减少类之间的耦合。我甚至看到了两者的实现,做了完全相同的事情,即将信息作为中间人从一个对象传递到另一个对象,而他们彼此不了解。

然而,(我的解释是),区别在于Mediator(应该)如何封装行为,即对象之间的复杂通信,而EventAggregator / MessageBus只是使对象能够订阅/发布事件/消息而不知道是谁发送的或将收到它。