【发布时间】:2011-08-15 18:50:47
【问题描述】:
自从了解了使用事件聚合器发布消息而不是使用事件后,我已经设法处理了我的代码中的大多数事件(减去那些将 WPF 控件属性连接到我的代码的事件)。现在的问题是,我似乎真的用处理程序超载了我的服务。在 GitHub 上闲逛,我可以看到人们实现了事件聚合器(似乎采用了另一个名称,例如总线)并创建了一个类来处理每种类型的消息。
例如:
public class SomeHandler : IHandle<SomeMessage>
{
private readonly IEventAggregator _eventAggregator;
public SomeHandler(IEventAggregator eventAggregator)
{
_eventAggregator = eventAggregator;
_eventAggregator.Subscribe(this);
}
public void Handle(SomeMessage message)
{
Console.WriteLine("Handled SomeMessage.");
}
}
这种类型的编程使用的术语是什么?我想了解更多。
【问题讨论】:
-
您可能是指 CQRS 吗?现在有不少人在谈论 CQRS,而 CQRS 通常包括命令“总线”或“调度程序”和单独的命令处理程序类之类的东西。部分链接:cqrsinfo.com、CQRS starting points by Rinat Abdullin、Clarified CQRS by Udi Dahan。
标签: c# publish-subscribe eventaggregator