0

我认为事件溯源的概念是事件溯源与领域层相关,不能与基础设施层耦合。所以我不会使用 prooph/event-sourcing 组件,这就是 Prooph 的团队不会维护 event-sourcing 组件的原因。(本文提到

问题来了,Aggregate、DomainEvent等属于Domain层,放在事件溯源组件中。事件存储属于基础设施层,所以我可以直接使用 prooph/event-store 组件。但是,我发现 class Prooph\EventSourcing\Aggregate\AggregateRepositoryis used in prooph/event-store-symfony-bundle,为什么 AggregateRepository 放在事件溯源中?我认为 Repository to Infrastructure conecrning,事件存储 symfony bundle 不应该再使用事件源组件,并且 Repository 也不应该放在事件源中。

这让我很困惑。所以我现在不能使用 prooph/event-store。

你怎么想?

4

1 回答 1

1

存储库是域模型和基础设施之间的链接。它被放入事件源组件中,因为事件存储根本不关心聚合以及它们是如何组织的。事件存储管理事件流。只有存储库才能将其成形。它使用偶数存储的事件流功能来管理聚合的事件历史。因此,存储库也是您的责任。没错,新版本的 symfony 包不应该再包含存储库实现,而只提供 prooph/event-store。那还没有完成。事实上,prooph/event-sourcing 一直维持到 2019 年底,所以我们并不着急。

无论如何,我强烈建议看看Event Machine。目前它基于 prooph/event-sourcing、service-bus 和 event-store,但已经提供了一个抽象层和一种将域模型和系统的其他部分与 prooph 和 Event Machine 本身完全分离的方法。只需完成教程以了解更多信息(需要 4-6 小时)。

于 2018-11-28T08:58:16.347 回答