WPF: Microsoft.Practices.Prism.Events.IEventAggregator против события CLR
WPF: Microsoft.Practices.Prism.Events.IEventAggregator против события CLR
Почему я должен использовать события Призмы? по старому доброму событию / делегату CLR?
Спасибо
https://www.codeproject.com/Articles/355473/Prism-EventAggregator-Sample
2 ответа
Почему я должен использовать события Призмы? по старому доброму событию / делегату CLR?
Использование обычных событий CLR приведет к тесной связи между издателем события и подписчиком. Это, как правило, усложняет поддержку приложения. Это может также привести к утечке памяти, если издатель живет дольше подписчика, и вы забыли или не знаете, когда отписаться от этого события.
Вводя агрегатор событий между издателями и подписчиками, вы можете устранить эту тесную связь. Подписчик наблюдает за агрегатором событий вместо издателя, и издатель знает только об агрегаторе событий, а не о подписчиках.
Пожалуйста, обратитесь к этому сообщению в блоге для получения дополнительной информации.
Краткий ответ: потому что отправителю и получателю события не нужно знать друг друга, только тип события и агрегатор событий.
Длинный ответ: смотрите статью в комментариях, а также в Google и / или книгах...