此外,在需要在松散耦合的对象(例如MVVM的ViewModel)之间进行通信时,不同的编程最佳实践书籍和博客建议使用Mediator/EventAggregator模式。
我的问题是关于这些模式之间的差异/关系。
有人能为我描述一下它们吗?
这两者大多用于同样的目的:减少类之间的耦合。我甚至见过它们的实现完全相同,即作为中间人将信息从一个对象传递到另一个对象,而这些对象并不知道彼此的存在。
然而,(我的理解是)它们的区别在于中介者应该如何封装行为,即对象之间复杂通信的方式,而事件聚合器/消息总线只是使对象能够订阅/发布事件/消息,而不知道发送方或接收方是谁。