DDD-领域驱动(四)-使用IMediator 实现领域事件
作者:互联网
领域事件是指:一个领域中出触发的
集成事件是指:多个微服务之前产生的事件
引入:IMediator 包
第一个示例演示了使用MediatR使用请求/响应类型的操作。它期望对请求做出一些反应。使用 Send 发送 (注意:Send 只会执行一个扫到的Handler类)
IRequest是指请求的响应是布尔响应。现在,需要一个处理程序来处理这种类型的请求。
public class RequestUser : IRequest<bool> //IRequest<bool> 代表响应是一个 true / false
{
public int UserId { get; set; }
public string UserName { get; set; }
}
public class UserHandler : IRequestHandler<RequestUser, bool>
{
public Task<bool> Handle(RequestUser request, CancellationToken cancellationToken)
{
System.Console.WriteLine("第一个执行了!");
return Task.FromResult(true);
}
}
也可以返回一个实体对象
例如:(注意需要把 RequestUser :IRequest
、、修改为 RequestUser :IRequest 或者 返回值为IList类型 IRequest<IEnumerable > )
还需要实现UserHandler : IRequestHandler<RequestUser, bool> 、、修改为 IRequestHandler<RequestUser, ReponseUser> 或者 返回值为IList类型 IRequestHandler<RequestUser, IEnumerable> 。第一个是请求参数,第二个为响应
public class ReponseUser
{
}
标签:RequestUser,IRequestHandler,class,领域,响应,IRequest,IMediator,public,DDD 来源: https://www.cnblogs.com/Bo-H/p/16592284.html