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 и / или книгах...

Другие вопросы по тегам