visual-studio - CQRS/事件溯源项目结构

标签 visual-studio architecture cqrs event-sourcing

我有第一个使用事件源的 CQRS 项目,我想知道与涉及多层的其他项目相比,这种类型的项目是否应该在 Visual Studio 中以不同的方式构建?

例如,在过去创建的项目具有远程处理、应用程序服务、域等层,并且很明显每个层/程序集都触及其下面的层/程序集。这些程序集似乎做了很多事情,并且使用像 NDepend 这样的工具确实说明了项目的结构。

但是,对于 CQRS 项目,最好使用更小的程序集来显示其意图,即用于命令的程序集、另一个用于事件的程序集、另一个用于事件处理程序的程序集等。

现在有了 NDepend,它可以让我更好地表示如何使用程序集。

最佳答案

我通常用较小的项目来构建我的 CQRS 项目,这些项目描述了它们的意图——命令、域、事件、反规范化器、存储库、命令服务等。

通过这种方式可以更轻松地浏览您的解决方案,并且还可以让团队中的其他人(或新加入的团队成员)更轻松地使用系统的各个组件。

此外,如果您有一个团队致力于此工作,您可以轻松地让一个小组主要专注于领域项目(可能是您的高端团队成员),而您的初级成员可以从事反规范化项目。

你最终会得到(可能)更多的项目,但它们会是更小的 block ,并且更容易理解它们的目的。有点像单一职责原则,但是是在项目级别。

希望这有帮助。祝你好运。

关于visual-studio - CQRS/事件溯源项目结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9019088/

相关文章:

visual-studio - 新 FormData 上的 IE10 SCRIPT5 : Access is denied.

用于在应用程序之间委派任务的 Java 企业架构

java - 我应该如何序列化域模型快照以进行事件溯源

java - 将数据与用户分开的最佳做法是什么

.net-core - 使用 MediatR 链接处理程序

architecture - DDD/CQRS聚合根可以是微服务吗?

javascript - 通过引用导入 momentjs 不起作用(typescript、amd)

C# 没有在代码中或使用调试器捕获异常

c++ - avghookx.dll 找不到或打开 PDB 文件

ios - 如何知道ios委托(delegate)是否被释放