.NET Core开发实战(第34课:MediatR:轻松实现命令查询职责分离模式(CQRS))--学习笔记(下)...
生活随笔
收集整理的這篇文章主要介紹了
.NET Core开发实战(第34课:MediatR:轻松实现命令查询职责分离模式(CQRS))--学习笔记(下)...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
34 | MediatR:輕松實現命令查詢職責分離模式(CQRS)
實際上我們在定義我的查詢的時候,也可以這樣定義,例如我們定義一個 MyOrderQuery,把訂單的所有名稱都輸出出去
namespace GeekTime.API.Application.Queries {public class MyOrderQuery : IRequest<List<string>>{public MyOrderQuery(string userName) => UserName = userName;public string UserName { get; private set; }} }我們再定義一個查詢器,這里就可以從各種地方查詢到我們的數據然后返回出去
namespace GeekTime.API.Application.Queries {public class MyOrderQueryHandler : IRequestHandler<MyOrderQuery, List<string>>{public Task<List<string>> Handle(MyOrderQuery request, CancellationToken cancellationToken){return Task.FromResult(new List<string>());}} }實際上我們這樣子就完成了查詢和查詢處理的定義
我們可以在 Controller 定義
[HttpGet] public async Task<List<string>> QueryOrder([FromBody]MyOrderQuery myOrderQuery) {return await _mediator.Send(myOrderQuery); }這樣就完成了查詢和查詢處理邏輯的分離
我們執行命令是同樣的實現方式,我們這樣子做的話可以將我們的查詢的輸入和處理定義在一個目錄下面,也可以將我們的命令的定義和命令的執行放在一個目錄下面,使我們的 Controller 關注于身份認證或者基礎設施緩存等等一些邏輯的處理,它不再關心說我的業務邏輯是怎么樣子的
總結
以上是生活随笔為你收集整理的.NET Core开发实战(第34课:MediatR:轻松实现命令查询职责分离模式(CQRS))--学习笔记(下)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL对JSON类型UTF-8编码导
- 下一篇: Asp.Net Core 中Identi