问题标签 [eventaggregator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
424 浏览

extjs - Ext JS 的事件聚合器

你知道 ExtJs 的任何可靠的事件聚合器实现吗?

0 投票
1 回答
424 浏览

c# - 使用 Prism 和事件聚合器处理页面大小更改事件

我需要在 WPF 浏览器应用程序中触发 Page_SizeChanged 事件时捕获并通过 Prism EventAggregator 发布事件。由于我感兴趣的页面恰好是 Shell 页面,因此我没有附加 ViewModel 来访问 eventtaggregator。

0 投票
1 回答
4868 浏览

unit-testing - 使用 Moq 进行单元测试的 Mocking Prism 事件聚合器

我需要一些关于如何在单元测试中使用 Moq 的建议,以确保我的被测类表现得如我所愿。那就是被测试的类发布了一个事件聚合器(来自 Prism)事件,我需要某种方式来断言该事件已在我的测试中引发。

我没有太多的工作资源,我发现很难知道如何设置它。

我有 :-

我认为如果我的测试是针对 SomeClass 我需要验证是否我调用 SomeClass.Allocate 是否正在发布 SomeEvent 消息。这是怎么做到的?

我是否还需要验证模拟的 SomeService 是否正在接收 SomeEvent?还是属于 SomeService 单元测试而不是 SomeClass 的单独单元测试?

无论如何,不​​知道如何设置任何这些,所以任何建议都将不胜感激。

0 投票
3 回答
340 浏览

.net - 你知道关于事件聚合模式的设计模式书籍或视频吗?

我尝试编写自己的事件聚合类,我看了一些文章,但我想一步一步地使用这种模式,例如我想用 2 个简单的类来创建它,比如用户类和电子邮件通知类,这样当用户更改他的密码发送给他的电子邮件。
我现在不想关心泛型,我希望它尽可能简单。

我根本没有找到任何关于这种模式的书籍或视频,你以前遇到过吗?

0 投票
2 回答
20596 浏览

c# - 试图理解事件聚合器模式

我正在尝试以一种简单的方式来实现事件聚合器模式,以逐步学习它。但是我没有找到任何关于它的实现的书或好的视频教程。
我刚刚发现了一些不错的文章,例如http://weblogs.asp.net/rashid/archive/2009/03/05/use-event-aggregator-to-make-your-application-more-extensible.aspxhttp ://martinfowler.com/eaaDev/EventAggregator.html第一篇文章太大,无法让我理解模式,第二篇没有完成:)。
顺便说一句,我创建了我的课程:

而我想要的是创建一种通用方式,以便当有新评论创建CommentSubmited()Fire 方法时。
我希望它是通用的,因为以后会有更多的服务,例如 RateService、QuestionService 等,并且每个服务XXXSubmited()在 MemberService 类中都有一个方法。

希望你明白我想学什么,问我是否想让我把事情说得更清楚。

请注意,我检查了Generic Delegates 主题并认为它可能在这个问题上对我有所帮助,但无法如我所愿。

0 投票
1 回答
1139 浏览

c# - ISubject 和 Subject 在此示例中的外观如何?示例是否在正确的位置使用它们?

我得到了这个样本http://jfromaniello.blogspot.com/2010/04/event-aggregator-with-reactive.html

哪个使用 .net 4.0 描述事件聚合器模式,但我在示例代码中没有找到 ISubject 接口和 Subject 类,我发现他在 EventAggregator 类中使用它们,这样使用它们是否正确以及会怎样他们的代码会是什么样子?

0 投票
1 回答
495 浏览

silverlight - 大型 Prism/Silverlight 应用程序 - 多个模块与单个数据服务通信

我正在为使用 Prism 的大型数据驱动 Silverlight 应用程序开发框架。我正在为应用程序的不同部分创建多个模块,但所有模块都需要从同一个 REST Web 服务访问数据。所以我最初的计划是为数据检索创建一个单独的模块,然后使用 EventAggregator 将结果传递给订阅结果事件的其他模块。数据模块将没有 ViewModel,因为没有 View。

所以有几个问题: 1. 我所描述的方法是一种很好的方法——一个模块供其他模块使用吗?2、如果没有ViewModel,数据模块哪里可以发布事件?

非常感谢任何提示或建议。

0 投票
2 回答
1040 浏览

c# - 使用响应式扩展的事件聚合器问题

为了连接我的MEF应用程序,我使用了在此处找到的事件聚合器。它非常适合将数据分发到实际需要它的模块中。

我越来越多地使用响应式扩展,并且一直在尝试执行以下操作:

但是,事件聚合器似乎挂在 Publish 方法中:

我猜想 system.reactive 或聚合器的设计有一些我不完全理解的东西。有人有什么想法吗?

0 投票
3 回答
984 浏览

c# - IEventAggregator 没有跨模块到达

我试图让我的 IEventAggregator 允许我在一个模块中发布和事件并在另一个模块中捕获它。我在一个模块/项目中尝试了下面的代码,效果很好。只有当我有一个模块/项目发布事件而另一个订阅它时,它才会失败。

我已经通过统一将我的 IEventAggregator 注入到两个模块中。

我有 3 个项目,其中两个有模块(称为 A 和 B),一个只是一个普通的类库(称为接口)

在类库接口中有这样的代码:

在模块A中,按钮单击命令中有此代码(这实际上是在项目的视图模型中):

在模块B中有以下代码:

我可以追踪并看到订阅被调用。当我看到 Publish 被调用时,调试器说Subscriptions = 1(所以它知道订阅已经完成,所以我似乎没有 2 个不同的 IEventAggregator 实例。)

但是 OnRandomThingDone 在 Publish 之后永远不会被调用。

任何想法为什么?(我需要发布更多代码吗?如果需要,请告诉我。)

0 投票
1 回答
1657 浏览

wpf - WPF PRISM 事件订阅不会死

我有一个带有几个区域的 PRISM RegionManager - 顶部的功能区区域和下面的主要内容区域供我查看 - 相当基本。

该应用程序从主要内容区域中的“主页”视图开始。当我单击功能区上的按钮时,我将第二个视图注入内容区域并在区域管理器中导航到它。当我单击此视图上的按钮时,应将其删除并显示原始视图。

我目前正在使用 RegionManager.Add() 方法手动添加第二个视图。当我想删除它时,我发布了一个事件,该事件由获取当前活动删除的管理器类使用,为它调用区域管理器上的 Remove(),然后导航回原始视图。

这一切都很好,除了当我调用 Remove() 后第二个视图保持活动状态,并保留它在其生命周期内所做的任何订阅的句柄!对于弱事件引用,我尝试使用 false 显式调用订阅,但无论如何这是默认设置,它没有帮助。我已经尝试过创建视图(发现和注入)和通过移除和停用来移除视图的两种类型。他们都没有帮助。这是一个真正的问题,因为当我想在未来创建相同的视图(该视图的新实例)时,我留下了它们的几个实例,它们都订阅了相同的事件,即使其中一些实例是多年前从区域经理中删除。

我是否需要手动取消订阅我在视图中订阅的每个事件(非常不受欢迎)?或者有什么方法可以处理控件/将其标记为已停用,以便删除其订阅?

我觉得我在这里做了一些愚蠢的事情,但这让我完全被难住了。

谢谢