.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 关注于身份认证或者基础设施缓存等等一些逻辑的处理,它不再关心说我的业务逻辑是怎么样子的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/310824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux连接http报301解决,https下不加www的301强制跳转

不少浏览器都开始逐渐更新至只支持https的网站&#xff0c;所以很多http网站都需要添加对https的支持&#xff0c;这时就需要涉及到www和不加www的跳转问题&#xff0c;由于www和不加www使用的是不同的证书&#xff0c;所以需要做301跳转处理&#xff0c;方案如下&#xff1a;此…

LeetCode 637 二叉树的层平均值-简单

给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例 1&#xff1a; 输入&#xff1a; 3/ \9 20/ \15 7输出&#xff1a;[3, 14.5, 11] 解释&#xff1a; 第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。 提示&#xff1a; …

Asp.Net Core 中IdentityServer4 实战之角色授权详解

一、前言前几篇文章分享了IdentityServer4密码模式的基本授权及自定义授权等方式&#xff0c;最近由于改造一个网关服务&#xff0c;也用到了IdentityServer4的授权&#xff0c;改造过程中发现比较适合基于Role角色的授权&#xff0c;通过不同的角色来限制用户访问不同的Api资源…

linux cpu load 值,理解Linux系统中的load average(图文版)转

一、什么是load average&#xff1f;linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing)。也有简单的说是进程队列的长度。Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内平均…

LeetCode 257二叉树的所有路径-简单

给定一个二叉树&#xff0c;返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 输入: 1/ \ 2 3\5输出: [“1->2->5”, “1->3”] 解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3 代码如下: /*** Definition …

[ASP.NET Core 3.1]浏览器嗅探解决部分浏览器丢失Cookie问

今天的干货长驱直入&#xff0c;直奔主题看了前文的同学们应该都知道&#xff0c;搜狗、360等浏览器在单点登录中反复重定向&#xff0c;最终失败报错。原因在于&#xff0c;非Chrome80浏览器不识别Cookie上的SameSitenone属性值,导致认证Cookie在后续请求中被抛弃。截至2020/3…

c语言 最小值算法,C语言实现基于最大堆和最小堆的堆排序算法示例

堆定义堆实际上是一棵完全二叉树&#xff0c;其任何一非叶节点满足性质&#xff1a;Key[i]<key[2i1]&&Key[i]<key[2i2](小顶堆)或者&#xff1a;Key[i]>Key[2i1]&&key>key[2i2](大顶堆)即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关…

LeetCode100 相同的树-简单

给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; 输入&#xff1a;p [1,2,3], q [1,2,3] 输出&#xff1a;true 示例 2&a…

Xamarin.Forms读取并展示Android和iOS通讯录 - TerminalMACS客户端

本文同步更新地址&#xff1a;https://dotnet9.com/11520.htmlhttps://terminalmacs.com/861.html阅读导航&#xff1a;一、功能说明二、代码实现三、源码获取四、参考资料五、后面计划一、功能说明完整思维导图&#xff1a;https://github.com/dotnet9/TerminalMACS/blob/mast…

LeetCode 101对称二叉树-简单

给定一个二叉树&#xff0c;检查它是否是镜像对称的。 例如&#xff0c;二叉树 [1,2,2,3,4,4,3] 是对称的。 1/ \2 2/ \ / \ 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1/ \2 2\ \3 3代码如下&#xff1a; /*** Definition for a binary tree…

paragon+ntfs+linux,NTFS For Mac 超强兼容性

NTFS For Mac是为解决Windows和Mac OS X不兼容问题而开发的低级别档案系统驱动&#xff0c;提供在Mac OS X下完全读/写访问NTFS档案系统的任何版本。兼容mac OS X所有版本、32/64位内核模式&#xff0c;及其它第三方软件。不仅如此&#xff0c;NTFS For Mac 超强兼容性支持更多…

Asp.Net Core Ocelot Consul 微服务

做一个简单的微服务架构如下图&#xff1a;这个图表示的是一个网关代理Consul的两个服务&#xff0c;consul每个服务注册集群安装 Consul的服务&#xff0c;这里安装单机版的&#xff0c;集群版配置最低要求&#xff08;3个Consul server&#xff09;的需要三台虚拟机&#xff…

LeetCode 104二叉树的最大深度-简单

给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例&#xff1a; 给定二叉树 [3,9,20,null,null,15,7]&#xff0c; 3/ \9 20/ \15 7返回它的最大深度 3 。 代码如下: …

以下c语言程序片段用于估测cpu的cache参数,阿里巴巴笔试题

阿里巴巴笔试题1.平均速度最快的排序算法是______。Shell排序快速排序冒泡排序插入排序2014-03-29 18:36:022.某服务进程的QPS(没秒处理的请求个数)较低&#xff0c;在空闲时间RT(响应时间)比较合理。在压力下CPU占用率20%左右。那么可能存在的问题是______。该进程的某个处理过…

.Neter们,你真的应该了解下EFCore3.x

本期导读&#xff1a;技术文&#xff0c;带你了解关于EntityFrameworkCore3.x的那些事&#xff0c;本文共1493个字&#xff0c;阅读大约需要3分钟。文末福利不要错过哦&#xff01;是的各位.Neter&#xff0c;不用怀疑&#xff0c;使用O/RM的开发者越来越多了&#xff0c;从风起…

LeetCode 111二叉树的最小深度-简单

给定一个二叉树&#xff0c;找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明&#xff1a;叶子节点是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;2 示例 2&#xff1a; 输…

山东省中职信息技术c语言试题及答案,中职计算机专业C语言测试题

高三计算机专业C语言测试题(1)学号姓名&#xff1a;得分&#xff1a;一、选择题40’1、下列选项是C语言保留字的一项是()A DOB gosubC strutD CHAR2、下列选项中可以作为C语言用户标识符的一组是()A void , define, wordB a3_b3, _123, IFC for, _abc , caseD 2a, do, sizeof3、…

istio回归「单体应用」对我们的启发

大家好&#xff0c;我是Z哥。这次分享给大家的是一篇与技术相关的文章&#xff0c;但是我想表达的核心观点并不仅限于技术范围。我们中国有句古话&#xff0c;分久必合&#xff0c;合久必分。很多事物的发展都逃不开这个规律。如今&#xff0c;这件事也正在分布式、微服务概念大…

LeetCode 110平衡二叉树-简单

给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;t…

c语言中如何使用面向对象编程,如何使用C语言的面向对象

我们都知道&#xff0c;C才是面向对象的语言&#xff0c;但是C语言是否能使用面向对象的功能&#xff1f;(1)继承性typedef struct _parent{int data_parent;}Parent;typedef struct _Child{struct _parent parent;int data_child;}Child;在设计C语言继承性的时候&#xff0c;我…