ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

DDD-领域驱动(四)-使用IMediator 实现领域事件

2022-08-16 17:31:35  阅读:110  来源: 互联网

标签:RequestUser IRequestHandler class 领域 响应 IRequest IMediator public DDD


领域事件是指:一个领域中出触发的

集成事件是指:多个微服务之前产生的事件

引入: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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有