域驱动设计-如何在c#中处理两个或多个域事件
本文关键字:两个 事件 处理 | 更新日期: 2023-09-27 17:57:53
在C#中,我有一个场景,其中至少在两个地方引发了不同的域事件,我希望一个hander用相同的代码来处理它们(其他监听器可能执行特定于事件的代码)。处理程序使用以下模式;
public class SomeHandler : IHandler<SomeEvent>
{
public SomeHandler()
{
//whatever init code
}
public void Handle(SomeArgs args)
{
//Common code
}
}
那么,用同一个处理程序处理多个事件的最佳方法是什么呢?感谢
IHandler<SomeEvent>
是一个接口,因此您可能可以实现多个接口:
public class SomeHandler : IHandler<SomeEvent>, IHandler<SomeOtherEvent>
{
public SomeHandler()
{
//whatever init code
}
public void Handle(SomeArgs args)
{
//Common code
}
public void Handle(SomeOtherArgs args)
{
//Common code
}
}