两个command的疑惑

1、在cqrs模式中有command和query

command  命令  没有返回值,但会更改对象的状态

query 查询  有返回值  但不会改变用户的状态,对下同而言没有副作用

2、在今天的实际项目中,应用了rabbitmq,其中也有command的概念

实际应用中,command是有返回值的。

对于需要改变对象状态的操作,先生成command命令,成功后返回值,随后调用相应的事件处理(处理的依据是command中的返回值)

那问题来了,rabbitmq中的command和cqrs中的command二者的区别在哪里,一个是有返回值的,一个是没有返回值的?

可能二者表达的根本就不是相同的概念,虽然看起来名字一样。。。

时间: 2024-11-05 10:22:15

两个command的疑惑的相关文章

C#缓存absoluteExpiration、slidingExpiration两个参数的疑惑

看了很多资料终于搞明白cache中absoluteExpiration,slidingExpiration这两个参数的含义. absoluteExpiration:用于设置绝对过期时间,它表示只要时间一到就过期,所以类型为System.DateTime,当给这个参数设置了一个时间时,slidingExpiration参数的值就只能为Cache.NoSlidingExpiration,否则出错: slidingExpiration:用于设置可调过期时间,它表示当离最后访问超过某个时间段后就过期,所

探究Repository模式的两种写法与疑惑

现如今DDD越来越流行,园子里漫天都是介绍关于它的文章.说到DDD就不能不提Repository模式了,有的地方也叫它仓储模式. 很多时候我们对Repository都还停留在Copy然后使用的阶段, 我注意到Repository模式有两种流行的设计方式. 今天我就是想跟大家讨论下这两种设计方式之间的区别,同时弄清楚哪种方式更合理(无需纠结代码细节),见下图: 左右两边代码比较: 1.左边的Repository代码在实际使用中是最常见的,右边的使用更少一些. 2.左边代码的更难理解一些,右边的代码

Command 模式 Step by step

提起Command模式,我想没有什么比遥控器的例子更能说明问题了,本文将通过它来一步步实现GOF的Command模式. 我们先看下这个遥控器程序的需求:假如我们需要为家里的电器设计一个远程遥控器,通过这个控制器,我们可以控制电器(诸如灯.风扇.空调等)的开关.我们的控制器上有一系列的按钮,分别对应家中的某个电器,当我们在遥控器上按下"On"时,电器打开:当我们按下"Off"时,电器关闭. 好了,让我们开始Command 模式之旅吧. HardCoding的实现方式

关于面向对象的总结和疑惑(转载可乐冰

在这节,老师讲了面向对象的三大特性:1.全局变量:2.封装:3.继承: 现在我就我自己的理解总结一下这节课的内容,并提出相应的疑惑,望老师解答 其一:全局变量 声明变量的方法有三:1,在全局对象中var a一个变量:2,window.a一个变量:3.直接去掉var,如:a=1一个变量. 第一种声明方式是我们声明变量的标准形式.现在我主要说说第二种和第三种声明变量的方式: 对于第二种方式和第三种方式声明的变量,不同于标准声明1: 其实实质上就是创建了全局对象的一个新属性,本质上不是变量.并且这两种

23种设计模式(19)---Command模式

命令(Command)模式属于对象的行为模式[GOF95].命令模式又称为行动(Action)模式或交易(Transaction)模式.命令模式把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能. 命令模式是对命令的封装.命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象. 每一个命令都是一个操作:请求的一方发出请求要求执行一个操作:接收的一方收到请求,并执行操作.命令模式允许请求的一方和接收的

如何通俗理解设计模式及其思想

术与道 数据结构,算法,设计模式被认为是程序员必备技能的三叉戟,如果说编程语言的语法特性和业务编码能力是[术],那么这三者可以称得上是[道]--[术]可以让你在IT行业赖以生存,而[道]则决定你未来在技术这条道路上可以走多远. 边学边忘的窘境 先自我介绍一下. 我是一个两年工作经验的Android开发人员,就像很多同行一样,对于数据结构,算法,设计模式这些被奉为程序员必修的三门内功,几乎没有去系统性地学习过(曾经专业课的数据结构,如今也基本还给了老师). 你问我想不想当一个称职的程序员,当然!数

JavaScript之对象序列化详解

一.什么是对象序列化? 对象序列化是指将对象的状态转换为字符串(来自我这菜鸟的理解,好像有些书上也是这么说的,浅显易懂!): 序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程(来自“百度百科—序列化“,学术性强,略显高端): 二.为什么会有对象序列化? 世间万物,都有其存在的原因.为什么会有对象序列化呢?因为程序猿们需要它.既然是对象序列化,那我们就先从一个对象说起: var obj = {x:1, y:2}; 当这句代码运行时,对象obj的内容会存储在一块

分析最透彻的命令模式

转http://www.tracefact.net/Design-Pattern/Command.aspx Command 模式 Step by Step 引言 提起Command模式,我想没有什么比遥控器的例子更能说明问题了,本文将通过它来一步步实现GOF的Command模式. 我们先看下这个遥控器程序的需求:假如我们需要为家里的电器设计一个远程遥控器,通过这个控制器,我们可以控制电器(诸如灯.风扇.空调等)的开关.我们的控制器上有一系列的按钮,分别对应家中的某个电器,当我们在遥控器上按下“O

ContentControl 与 ViewModel (一)

前阵子有人问我MVVM模式下,在View中嵌套View,切换View.想一想还是写下来吧. 主要就是用到 ContentControl 和 DataTemplate,这算是一种 ViewModel First 的思想吧. 其实好多MVVM的框架,也都提供这样的功能.在ContentControl绑定ViewModel,就可以显示 对应的View.比如 Caliburn.Micro(CM框架). MVVMLight应该是没有提供的,对他我本身不是很熟,以前知道他很轻,看过原码,真心没有多少,最近在