command-pattern相关内容

命令模式:如何将参数传递给命令?

我的问题与命令模式有关,我们有以下抽象(C# 代码): 公共接口ICommand{无效执行();} 让我们采用一个简单的具体命令,该命令旨在从我们的应用程序中删除一个实体.例如,一个 Person 实例. 我将有一个 DeletePersonCommand,它实现了 ICommand.该命令需要将Person作为参数删除,以便在调用Execute方法时删除. 管理参数化命令的最佳方 ..
发布时间:2021-12-22 09:09:02 C#/.NET

回调/命令 vs 事件监听器/观察者模式

我正在尝试设计一个异步框架,并想知道人们认为回调模式与观察者模式的优缺点. 回调模式://示例回调公共接口回调{公共无效通知(方法结果结果);}//示例方法公共类工人{public void doAsyncWork(回调回调){//做工作回调.通知(结果);}}//示例观察者模式公共接口事件监听器{公共无效通知(方法结果结果);}公共类工人{私人 EventListener 监听器;公共 reg ..

命令模式似乎不必要地复杂(我有什么不明白的?)

我已经阅读了命令模式,我想我遗漏了一些东西.Command 对象的存在是为了抽象出 Receiver 对象的细节.在我看来,我们可以简单地停在这里,并持有对 Command 对象的引用,以便在适当的时间执行适当的方法. 那么,为什么需要调用者?这个额外的间接提供什么好处?我们已经将 Receiver 的细节隐藏在 Command 背后,那么 Command 对客户端隐藏的动机是什么? ..

Java 中 if 语句的长列表

抱歉,我找不到可以回答这个问题的问题,我几乎可以肯定其他人之前已经提出过这个问题. 我的问题是我正在编写一些系统库来运行嵌入式设备.我有可以通过无线电广播发送到这些设备的命令.这只能通过文本来完成.在系统库中,我有一个线程来处理看起来像这样的命令 if (value.equals("A")) { doCommandA() }否则 if (value.equals("B")) { doCom ..
发布时间:2021-11-25 15:47:44 Java开发

获取命令模式中执行方法的结果

目前我正在尝试实现事务脚本模式(正是 Martin Fowler 描述的方式通过在一个简单的测试项目中使用 Command Pattern),一切正常,问题是在继承自 ICommand 接口的具体类中执行指定方法时,我不知道如何获取结果. 让我们向您展示一些代码来阐明我有哪些功能.我有一个简单的CalculateSalaryCommand 类,它继承自ICommand 接口 公共类Calc ..
发布时间:2021-11-17 02:01:34 C#/.NET

CQRS:命令返回值

对于命令是否应该有返回值似乎有无尽的困惑.我想知道混淆是否仅仅是因为参与者没有说明他们的背景或情况. 混乱 以下是混淆的例子... Udi Dahan 说命令“不会向客户端返回错误",但是在同一篇文章中他展示了一个图表,其中命令确实将错误返回给客户. Microsoft Press Store 的一篇文章指出“该命令...不返回响应";但随后给出了一个模棱两可的警告: ..
发布时间:2021-11-17 01:57:45 其他开发

如何在时序图中显示提交到线程池的命令

我正在准备序列图.根据命令设计模式创建为命令的任务被提交到线程池并执行. 让我们假设 command 执行一些来自 Data 类的方法. 这是我的问题: 我不知道我是否应该专门绘制命令对象,或者只是从调用程序传递到线程池的简单“submitTask()"消息. 我不知道我是否应该绘制 workerThread 对象,或者只是简化它,以便调用 Data 类函数. 我不知 ..

离线同步和事件来源

我们应用程序中基于CRUD的部分需要: 离线双向“双向"同步 能够修改数据直到准备就绪,然后再“发布". 审核日志 事件源(或“命令模式")是我要完成这些项目的目标.我对此感到很满意,可以解决2& 3,但不清楚第一项同步. 如果每个命令都使用了时间戳(如果需要),那么是否需要将脱机命令应用到主系统,就像它们是实时的(合并)一样?或者我可以认为它们只是在应用时发生了?任何命令的 ..

我可以根据Open Generic的类型为AutoFac制作密钥服务吗

我想为我的Open Generic ICommandHandler创建一个基于T的keyedService.当ICommandHandler的T继承自ConsultantCommand时,我想注册一个ConsultatCommandHanlder键控服务 任何想法怎么做?还是有可能?我是AutoFac的新手,正在苦苦挣扎. 我目前正在像这样注册CommandHandler: ..

如何编写完全通用的此类并根据一个请求返回不同的响应?

我被要求为一个应用程序创建一系列报告,并且与往常一样,我正在寻找减少编写代码量的方法.我已经开始尝试提出最简单的方法来请求一份报告.这就是我的想象: var response = ReportGenerator.Generate(Reports.Report1); //Reports would be an enum type with all of the available report ..
发布时间:2020-07-07 19:42:01 C#/.NET

C ++中的命令模式序列化

我想在C ++中进行以下操作: 创建命令对象 序列化 (将其发送到另一台计算机) 反序列化 执行 两种情况: 发送方和接收方均获胜7 电脑 发件人是* nix,接收方是获胜者 7 我找到了有关序列化的教程: http://www.functionx.com/cpp/articles/serialization.htm .这是要走的路吗?在python中,我可以这样 ..
发布时间:2020-07-07 19:41:59 C/C++开发

GOF vs CQRS中的命令模式含义

在查看命令模式时,发现有细微差别.也许有些人可以更清楚地说明这一点. 查看“四人行"时,它表示每个命令都有一个 Execute 方法,例如: http://www.blackwasp.co.uk/Command.aspx 像: myCommand.Execute(myValue); 现在,当我查看命令时, CQRS(Greg Young )我看到此命令没有execute方法.它们只 ..
发布时间:2020-07-07 19:41:55 其他开发

获取命令模式中已执行方法的结果

当前,我正在尝试实现事务脚本模式(正是Martin Fowler所描述的 通过在一个简单的测试项目中使用命令模式),一切正常,问题是当从ICommand接口继承的具体类中执行指定的方法时,我不知道如何获得结果. 让我们为您展示一些代码,以阐明我的功能. 我有一个简单的CalculateSalaryCommand类,该类是从ICommand接口继承的 public class Calcu ..
发布时间:2020-07-07 19:41:53 C#/.NET

CQRS:命令返回值

对于命令是否应该具有返回值,似乎存在无尽的困惑.我想知道是否只是因为参与者没有说明他们的背景或情况而感到困惑. 混乱 以下是混乱的例子... Udi Dahan说命令“没有将错误返回给客户端".但在同一文章中他显示了一个图,其中命令确实将错误返回给客户. Microsoft Press Store的文章指出“该命令...不返回响应".但随后给出了模糊的警告: 随着战场 ..
发布时间:2020-07-07 19:40:50 其他开发

命令模式与访客模式

允许访问者修改接收者的状态通常是可以接受的,还是应该改为使用命令模式? 解决方案 访问者模式的目的是允许将新操作添加到类继承结构中,而无需对该继承结构进行任何修改.我从未见过有人建议仅接受只读操作.唯一的限制是,添加的操作只能使用类继承关系的公共接口. ..

WPF:MVVM:命令与CallMethodAction?

我正在通过一个新的(小型)项目学习MVVM模式,我对在控制器上调用动作的方式有一个疑问: 我看到了很多教程,他们在其中告诉我们使用Command,这意味着声明一个RelayCommand,对其进行初始化并创建RelayCommand调用的动作. 另一方面,我有一位同事说我可以将CallMethodAction与触发器一起使用: ..
发布时间:2020-05-14 02:40:29 其他开发

MVC和命令模式

好,这有点愚蠢.我正在尝试把头放在 MVC和命令模式.这些问题主要涉及到哪里 地点代码. 在MVC模式中,命令在哪里实例化? 它们是由Controller创建的,还是完全包含在模型中,或者都不包含在模型中. 顺便说一句,如果不需要撤消/重做,应该使用Command模式吗? 致谢 解决方案 尽管基于应用程序的需求/复杂性有很多变体,但是您通常会发现它们是在Controlle ..
发布时间:2020-05-10 19:33:44 其他开发