在c#中为Windows 8.1应用程序实现Event Aggregator

时间:2015-01-19 13:52:22

标签: c# .net events event-handling eventaggregator

在我的Windows 8.1应用程序中,我有多个活动,发布者和订阅者。

活动A或B或C可以由多个发布者发布,并且可以由多个订阅者接收。所有这些实体都有很多关系。 所以很明显,解耦和代码可维护性就会出现。我决定使用Event Aggregator模式或Event broker模式。 http://martinfowler.com/eaaDev/EventAggregator.html

我从这里得到的信息 https://social.msdn.microsoft.com/Forums/en-US/85b62a26-dd77-43db-8c2b-25b76d7129a1/use-events-or-delegates-in-my-application?forum=csharpgeneral。感谢Magnus提供的信息。

我已经检查过Prism库提供了Event Aggregator框架。因此,Prism EventPubSub的可移植库解决了Windows 8.1中的目的 但是在这里我看到没有使用c#langauge事件而是将对象用作事件和委托作为事件处理程序。可能因为事件不能用作类型。

检查了一些更多的链接,例如http://msforge.net/blogs/paki/archive/2007/11/20/EventBroker-implementation-in-C_2300_-full-source-code.aspx,它们通过使用代理来显示事件代理模式。

我想确认事件本身是否可以参与事件聚合器模式?

欢呼声,

Saurav

1 个答案:

答案 0 :(得分:0)

回答我的问题。

事件本身不能参与事件聚合模式,因为它们不是类型,不能从类外部引用。

我坚持使用Prism Pub Sub Events为我提供事件聚合模式。到目前为止我的应用程序工作得很好。

希望这有帮助。

欢呼声, Saurav