我想向我的开发团队解释一下CQRS。我只是不知道如何以最简单的方式解释它,这样他们就可以在没有任何其他框架的情况下快速地实现这个模式。我读过很多资源,包括视频和文章,但我找不到如何实现CQRS而不使用其他模式,如服务总线、事件源模式、域驱动设计。我知道这些模式的目的,但作为第一步,我不希望他们认为CQRS和这些模式必须结合在一起。
我的第一个想法是,CQRS是关于分离读部分和写部分。读取部分仅由UI项目和DAL项目组成。然后,写部分由一个典型的多层体系结构组成: UI/BLL/DAL。那么,CQRS说我们还必须有两个数据存储吗?那么显示用户意图的命令的概念又如何呢?它也是CQRS或DDD的一部分吗?
基本上,如何实现CQRS而不使用其他模式。我承认这一点在我的脑海中也不太清楚,因为我曾经在我的个人项目中使用过NCQRS/DDD/Event /ServiceBus。
发布于 2011-11-20 09:45:39
有几种方法可以解决这个问题。你最了解你的团队。最好问问自己,你需要在哪一级的抽象中为他们理解。
Cqrs实际上是将读逻辑与写逻辑分开。最好的解释方法是将其与当今数据库供应商所提倡的分层体系结构进行比较( http://dddcqrs.com上的视频部分在这方面做得很好),主要是因为人们可以与它相关联,并查看您提议的更改如何适合该体系结构。您可以仅仅停留在这样一个论点:为了读取数据,不需要跳过(写逻辑)的所有循环。不需要更进一步(没有分开的商店、ddd概念、消息传递、服务总线等等)。也就是说,从技术和功能的角度来看,如果你继续追求的话,就会获得更多的价值。但同样,一步一步。记住,一般人都不太喜欢改变(即使这是一个好的改变)。cqrs的后代有很多价值,但如果它适合您的团队(以及他们的成熟程度),则需要仔细的判断和评估。有时候,与其把人牵扯到一起,不如一起成长。此外,不要忘记,管理也是不可忽视的。
https://softwareengineering.stackexchange.com/questions/121005
复制相似问题