您可以使用 CQRS(命令-查询职责分离)架构模式来构建像 StackOverflow 这样的网站吗?我对 CQRS 和 DDD(域驱动设计)相对较新,并且正在探索该模式并尝试为我熟悉该模式的站点建模。虽然我可以看到 CQRS 对于像 StackOverflow 这样的网站的许多方面都很有用,但有一些领域我不确定是否可行(或者,至少,我无法立即弄清楚)。具体来说:
- 提出问题 当我创建一个问题时,我会立即看到它并且可以对其进行编辑。在 CQRS 中,我发出类似“AskQuestion”的命令,并创建一个名为“QuestionAsked”的事件。最终,问题被推送到非规范化数据存储中。但 SO 的经验是立竿见影的。CQRS 可以做到这一点吗?
- 投票 我的投票会立即反映。在 CQRS 中,我会想象这些命令/事件最终通过事件总线移动到读取存储。但是 SO 立即给了我信息。
我真正关心的是 SO 提供的即时反馈的概念。CQRS 可以提供这个吗?如果是这样,这将如何完成?有没有很好的例子来说明如何处理这个问题?
如果有帮助,我的环境是 VS2010/C#/SQL2008R2,但我对 SQLite 等其他选项持开放态度。我还在研究 NCQRS 和 LOKAD 的框架,以及 Mark Nijhof 的示例,并计划下载 Greg Young 的示例. 对于 CQRS 样本,我没有找到太多其他内容。
谢谢!