2013-01-22 18 views
2

另外,當我需要在鬆散耦合的對象之間進行通信時(例如,MVVM的ViewModel),關於最佳編程實踐的不同書籍和博客建議使用Mediator/EventAggregator模式。 我的問題是關於這些模式之間的差異/關係。 任何人都可以爲我描述他們嗎?Mediator/EventAggregator的差異

回答

4

這兩個主要用於相同的原因;減少類之間的耦合。我甚至都看到了兩者的實現,完全一樣,即將信息作爲中間人從一個對象傳遞到另一個對象,而彼此不知道。但是,(我的解釋是)不同之處在於Mediator(應該)封裝行爲,即對象之間的複雜通信,而EventAggregator/MessageBus只是簡單地使對象訂閱/發佈事件/消息而不知道誰發送或將收到它。