此外,当我需要在松散耦合的对象之间进行通信时(例如,MVVM
的ViewModel),关于最佳编程实践的不同书籍和博客建议使用Mediator / EventAggregator模式。
我的问题是这些模式之间的差异/关系。
有人能为我描述一下吗?
答案 0 :(得分:4)
这两个主要是出于同样的原因使用;减少类之间的耦合。我甚至看到了两者的实现,做了完全相同的事情,即将信息作为中间人从一个对象传递到另一个对象,而他们彼此不了解。
然而,(我的解释是),区别在于Mediator(应该)如何封装行为,即对象之间的复杂通信,而EventAggregator / MessageBus只是使对象能够订阅/发布事件/消息而不知道是谁发送的或将收到它。