我最近在一个开源ASP.NET MVC 3
项目中看到了一个新模式(对我来说很新),该模式包含许多Command
,CommandHandler
和CommandInvoker
- 其接口 - 我无法理解这种模式!你能告诉我这个模式的名称是什么,我在哪里可以了解它?请问有什么好处?提前谢谢。
更新:我在谈论这个项目:
答案 0 :(得分:8)
看一下这篇文章:
Meanwhile… on the command side of my architecture
它包含有关您希望将命令和命令处理程序用作体系结构一部分的原因的详尽说明。诸如CQRS之类的架构模式基于命令和事件,但即使不应用CQRS,在您的架构中使用命令也非常有价值,正如文章所解释的那样。
然而,RavenGallery项目太小,无法真正看到这个命令/处理程序模型的好处。当项目变大时,这个模型开始闪耀。
答案 1 :(得分:0)
要继续Steven的想法,命令,处理程序,调用模式提供了一次调用命令(一次SOLID对象)的功能,可以直接从用户或服务可能交互的UI或其他顶层调用该命令直接。
我相信它的目标是降低通常在N层应用程序中发现的复杂性,在这些应用程序中,调用命令(即将对象保存到数据库)需要多层(即服务层,DataAcces层)。
在架构的众多“风味”中,我的看法是:https://github.com/mrogunlana/command-handler-pattern