一般做网站价格,百度指数免费查询入口,wordpress修改代码后,django企业网站开发实例34 | MediatR#xff1a;轻松实现命令查询职责分离模式#xff08;CQRS#xff09;实际上我们在定义我的查询的时候#xff0c;也可以这样定义#xff0c;例如我们定义一个 MyOrderQuery#xff0c;把订单的所有名称都输出出去namespace GeekTime.API.Application.Querie… 34 | MediatR轻松实现命令查询职责分离模式CQRS实际上我们在定义我的查询的时候也可以这样定义例如我们定义一个 MyOrderQuery把订单的所有名称都输出出去namespace GeekTime.API.Application.Queries
{public class MyOrderQuery : IRequestListstring{public MyOrderQuery(string userName) UserName userName;public string UserName { get; private set; }}
}
我们再定义一个查询器这里就可以从各种地方查询到我们的数据然后返回出去namespace GeekTime.API.Application.Queries
{public class MyOrderQueryHandler : IRequestHandlerMyOrderQuery, Liststring{public TaskListstring Handle(MyOrderQuery request, CancellationToken cancellationToken){return Task.FromResult(new Liststring());}}
}
实际上我们这样子就完成了查询和查询处理的定义我们可以在 Controller 定义[HttpGet]
public async TaskListstring QueryOrder([FromBody]MyOrderQuery myOrderQuery)
{return await _mediator.Send(myOrderQuery);
}
这样就完成了查询和查询处理逻辑的分离我们执行命令是同样的实现方式我们这样子做的话可以将我们的查询的输入和处理定义在一个目录下面也可以将我们的命令的定义和命令的执行放在一个目录下面使我们的 Controller 关注于身份认证或者基础设施缓存等等一些逻辑的处理它不再关心说我的业务逻辑是怎么样子的