Joz*_*sky 11 c# cqrs event-sourcing
我在我的应用程序中实现了Event Sourcing和CQRS模式.我启发了CQRS之旅,我下载了示例代码.在那里,我找到了事件采购的整个基础设施(CommandHandlers,EventHandlers,事件,信封......等),但它是相当多的代码,我无法想象我需要所有代码用于简单的事件采购.
您是否知道一些常见的测试库/ nuget包/项目,其中包含用于发送/注册命令,事件以及事件源模式中所需的所有基础结构?或者我应该自己实施?
小智 11
我可以介绍一下基于.NET Core 2.x的事件源框架吗:https : //github.com/jacqueskang/EventSourcing/
它提供了用于实现事件,事件源实体,实体存储库以及几个简单事件存储库的基类,以将事件持久存储在文本文件或数据库中(使用EF Core)。
集成到ASP.NET Core Web应用程序中特别容易,这里有一个非常简单的演示。
欢迎任何贡献或评论!
一般建议不要编写自己的事件存储.当然,您可以编写自己的ES,但仅出于教育目的.对于生产系统,我建议您使用现有的ES.它起初可能看起来像很多不必要的基础设施代码,但您很快就会注意到它确实需要它.最简单的形式ES并不难,但一旦你开始处理并发性,性能等,它就会变得更加复杂.
NEventStore和Event Store是两个众所周知的活动商店.
根据我自己的经验,即使您使用现有的ES,也不要低估您需要投入基础设施代码的时间.