【问题标题】:Command, CommandHandler and CommandInvokerCommand、CommandHandler 和 CommandInvoker
【发布时间】:2012-09-06 08:45:51
【问题描述】:

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

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

An image gallery with RavenDB

【问题讨论】:

标签: c# asp.net-mvc asp.net-mvc-3 command


【解决方案1】:

看看这篇文章:Meanwhile… on the command side of my architecture

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

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

my book 的第 10 章可以找到有关此主题的更深入的讨论。

【讨论】:

  • 感谢更新。你能推荐一些使用命令/处理程序的开源项目吗?
  • 不抱歉,这是我看到的第一个使用这种模型的 OSS 项目。但是,有一个名为 SolidService.codeplex.com 的开源参考架构应用程序在命令/处理程序模式之上显示了 WCF 服务。
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 2019-03-24
    • 2014-08-19
    • 2016-06-09
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 2022-09-26
    相关资源
    最近更新 更多