繁体   English   中英

命令、CommandHandler 和 CommandInvoker

Command, CommandHandler and CommandInvoker

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我最近在一个开源ASP.NET MVC 3项目中看到了一个新模式(对我来说是新的),它有很多CommandCommandHandlerCommandInvoker - 以及它们的接口 - 我无法理解这个模式! 你能告诉我这个模式的名字是什么吗?我在哪里可以了解到它? 请问它的好处是什么? 提前致谢。

更新:我在谈论这个项目:

带有 RavenDB 的图片库

2 个回复

看看这篇文章:同时……在我的架构的命令方面

它包含有关为什么要使用命令和命令处理程序作为架构的一部分的详尽解释。 像 CQRS 这样的架构模式基于命令和事件,但即使不应用 CQRS,在您的架构中使用命令也是非常有价值的,正如文章所解释的那样。

然而,RavenGallery 项目太小,无法真正看到这种命令/处理程序模型的好处。 当项目变大时,这个模型开始发光。

关于这个主题的更深入的讨论可以在我的书的第 10 章中找到。

继续 Steven 的想法,命令、处理程序、调用模式提供了调用命令的能力,一次一个 SOLID 对象,可以直接从用户或服务可以直接与之交互的 UI 或其他顶层调用。

我相信它的目标是降低通常在 N 层应用程序中发现的复杂性,其中有多个层(即服务层、数据访问层)需要调用命令(即,将对象保存到数据库)。

在那里架构的许多“风格”中,这是我的看法: https : //github.com/mrogunlana/command-handler-pattern

1 从命令中找到 CommandHandler

我有 2 个命令接口: 我有 2 个命令处理程序接口: 我有 2 个命令实现 我有 2 个命令处理程序实现 我现在有根模块对象 如何创建处理提供的命令的命令处理程序的实例? ...

2 CQRS和命令,CommandHandler和聚合验证

我正在新项目中实施CQRS的第一步。 遵循CQRS方法,我将MediatR用作协调命令的框架。 我还使用FluentValidation和ValidationBehavior来实现命令验证。 但是我在努力定义将哪种验证放在哪里: 在命令中(将CommandValidator与 ...

5 进入命令处理程序的参数

我继承了一些实现WPF命令的代码,如下所示: 没有参数就很好,并且不使用类似于RelayCommand的类来设置命令处理。 我现在需要在其中添加一个参数,并且正在努力寻找一种使用这种命令处理方式的简单方法。 有什么建议么? ...

6 命令处理程序中的前缀

在命令中创建时,该命令被称为每个前缀。 所以假设我已经创建了一个“帮助”命令,那么我可以使用所有内容作为前缀。 示例: !Help ?Help .Help -Help 如何设置我有一个固定的前缀。 (顺便说一下,我使用了命令处理程序) ...

7 命令处理器设计

我想设计一个CommandHandler。 这是我目前的原则: CommandHandler 是一个函数。 当前签名是结果句柄(CmdHeader 头,Cmd 命令) CommandHandlerMappings 是一个 Map<Predicate, CommandHandler ...

8 CommandHandler和EventHandler的顺序

我是CQRS的新手,想学习模式的工作顺序。 我的命令处理程序和命令是这样的: 当我确定一个工作时,命令处理程序正在工作。 而且我不会在控制器类中调用命令处理程序。 我使用CommandExecuter按类型调用命令。 创建工作后,我想发送电子邮件,发送短信和其他东西。 ...

10 一个Commandhandler可以处理多个MenuItem

在我的xaml代码中,我有一个菜单,其中包含以下内容: Command是ICommand类型的属性。 实现是 在我的viewmodel的构造函数中,我有一行: OnMenuItemExecute的方法是: 我只是不知道我作为命令参数应该通过什么 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM