问题标签 [commondomain]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
754 浏览

cqrs - J Oliver EventStore V2.0 CommonDomain 快照

什么是使用 EventStore 和 CommonDomain 时拍摄聚合快照的最佳实践(有没有更好的地方问,用户组,类似的东西)?

0 投票
4 回答
1287 浏览

cqrs - 如何使用 JOliviers 的 CommonDomain 和 EventStore 获取聚合列表?

CommonDomain 中的存储库仅公开“GetById()”。那么,如果我的处理程序需要一个客户列表,例如,该怎么办?

0 投票
1 回答
429 浏览

cqrs - J Oliver EventStore/CommonDomain SagaBase

为什么 SagaBase 在 Jonathan Oliver 的 CommonDomain 库中是泛型的?

0 投票
1 回答
721 浏览

cqrs - CommonDomain/EventStore 接口获取

我想通过它实现的接口访问我的聚合根:

我需要告诉 CommonDomain 或 EventStore 什么来完成此操作?我相信我的 IConstructAggregates 接收到存储事件的聚合的实现类型。我是否需要保留自己的 ID 地图。

例如,假设我有这些 agg 根:

我已经保存了一个具有 'idFromAggRoot1' 的 aggregate1 实例。现在我想这样获取:

既然 IInterface1 有两个实现者,我怎么知道以后应该创建什么?聚合根1?聚合根2?接口1?Activator 会在这里轰炸,所以我知道我需要实现 IConstructAggregates 但想知道是否还有其他描述符可以告诉我原始提交 agg 根类型是什么。

0 投票
0 回答
1116 浏览

cqrs - NCQRS 与 JOliver EventStore

有人评估过 NCQRS 和 JOliver 的 EventStore 吗?两者之间是否有显着优势,或者它们是否针对不同的受众?

我所看到的:

NCQRS 内置了对 NServiceBus 的支持。不确定受支持的 NSB 版本,但 NSB 的许可更改使这成为我项目的一个问题。不要以为我想永远被 NSB 2.1 困住。我可能会更多地关注 MassTransit 或 RSB。NCQRS 似乎也有相当多的“入门”帮助,对于像我这样的新手来说,这是值得赞赏的。

EventStore 似乎具有总线机制的挂钩,但没有内置实现(可能是错误的)。EventStore 似乎在 3.0 版本中有相当多的近期活动,但除了一些简短的代码示例和我发现的播客之外,似乎没有太多帮助,尤其是对初学者来说,除了筛选堆栈溢出或组。

如果有现有的比较,请指出我的方向。如果我上面的假设不正确,请纠正我。

0 投票
1 回答
174 浏览

cqrs - 在 JO 的 CommonDomain 中调度 AR 版本及其事件

我正在寻找将我的聚合的当前版本传达给读取模型的正确方法。目前我看到的唯一可能性是执行以下操作:

我不喜欢它,因为我认为 Aggregate 应该自动将 AR 版本分派给所有读取端事件处理程序。

我还有其他方法可以做到这一点吗?

0 投票
1 回答
316 浏览

transactions - Howto:使用单个事务来跨越多个聚合的更新

在我们的应用程序中,我们使用 Jonathan Oliver 的 EventStore 和 CommonDomain。我们用来存储事件的数据库是 SQL Server 或 Oracle。

对于特定的用例,我们需要通过一个命令更新多个聚合。我意识到(在 CQRS 中)理想情况下,一个命令应该只更新一个聚合,但在我们的例子中,一次更新多个实例是一项特定要求。

有没有一种简单的方法(不使用两阶段提交)来使这个操作原子化,如果是的话,那怎么可能?

编辑:这个问题特定于 EventStore 框架的使用(也可能是 CommonDomain 框架的存储库)。这不是关于事务处理或工作单元模式的一般问题(我很清楚)

0 投票
1 回答
385 浏览

cqrs - CommonDomain/EventStore/CQRS:commondomain 的测试项目在哪里?

我已经从 GitHub 下载了 CommonDomain,我可以看到一个目录

其中包含文件“When_an_aggregate_is_persisted.cs”,但没有使用它的项目。基类“in_the_event_store”似乎也不见了。还有对 FakeBus、IDomainEvent、SynchronousDispatcher 等的引用。

0 投票
1 回答
355 浏览

nservicebus - 在 EventStore 中处理并发异常的正确方法是什么?

使用 JOliver EventStore 3.0 并从 NServiceBus 接收命令,处理并发异常的正确方法是什么?如果我有多个工作线程,这可能是一种常见的情况。

选项1

选项 2

让它返回到 NServiceBus 并使用配置中的 MsMqTransportConfig.MaxRetries 选项重试。

选项 3

我没有想到的东西?

0 投票
3 回答
1972 浏览

unit-testing - CommonDomain - 如何对聚合根进行单元测试

我有一个使用 Jonathan Oliver 的CommonDomainEventStore的小系统。

如何对聚合根进行单元测试以验证是否引发了正确的事件?

考虑以下聚合根:

我想写一个以下测试:

我可以使用内存持久性和同步调度程序设置整个 EventStore,连接模拟事件处理程序并存储任何已发布的事件以进行验证,但这似乎有点矫枉过正。

CommonDomain中有一个接口IRouteEvents。看起来我可以模拟它以直接从中获取事件,AggregateBase但我实际上如何将它传递给我的Subscriber班级?我不想用与测试相关的代码“污染”我的领域。