【问题标题】:Domain Driven Design - CQRS + ES usage领域驱动设计 - CQRS + ES 使用
【发布时间】:2015-10-18 13:47:58
【问题描述】:

我有一个问题要问那些在自己的项目中实施 CQRS + 事件溯源架构的人。

我想知道,从长远来看,你的项目是使用 CQRS 开源库还是自己实现更好?

如果你自己,它应该作为公司的库实现还是应该与使用它的项目一起实现?

每种方式的优缺点是什么?

【问题讨论】:

  • CQRS 是一个概念。任何存在的库都是制作它们的人的帮手。这并不意味着它们适合您。

标签: java c# architecture domain-driven-design cqrs


【解决方案1】:

我会说尝试实施一个基本的自制解决方案,同时使用开源包作为指导。然后一旦完成使用开源包(NServiceStore)。

可能看起来没有必要,但我在实施 CQRS 时发现它有助于理解 CQRS 的内部工作原理。与直接使用软件包相比,能够更好地掌握 CQRS 模式并对我的业务规则做出更明智的决定。

此外,就像 marianoc 提到的那样,如果将来需要,更换基础设施实施应该不难。

【讨论】:

    【解决方案2】:

    在这两种情况下,您都应该设计正确的接口来将您的域与基础架构本身分离。在这一点上,这两种解决方案(自制与开源)是一个口味问题。

    自制解决方案可让您更好地了解整个基础架构。如果您迟到或需要尽快准备好,这是一个缺点。

    开源解决方案为您提供社区支持,同时您仍然可以查看代码和学习。如果项目死了是个问题,但你有源代码并做你想做的事(甚至复活它),或者如果你真的被你的域解耦,你可以轻松地替换基础设施。

    我的建议是针对 NEventStore。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-20
      • 2011-10-06
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 2017-11-23
      • 1970-01-01
      • 2016-09-29
      相关资源
      最近更新 更多