在我的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
答案 0 :(得分:0)
回答我的问题。
事件本身不能参与事件聚合模式,因为它们不是类型,不能从类外部引用。
我坚持使用Prism Pub Sub Events为我提供事件聚合模式。到目前为止我的应用程序工作得很好。
希望这有帮助。
欢呼声, Saurav