12

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

更新:我说的是这个项目:

带有 RavenDB 的图片库

4

2 回答 2

13

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

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

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

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

于 2012-09-13T09:43:04.133 回答
0

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

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

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

于 2018-12-27T20:44:56.907 回答