这个项目正在使用Fmodel - Kotlin,多平台库。
特点:
- 使用 Kotlin 编程语言启用函数式、代数和反应域建模。
- 受到 DDD、EventSourcing 和函数式编程社区的启发,但在惯用的 Kotlin 中实现了这些想法和概念,这反过来又使我们的代码
- 不易出错,
- 更容易理解,
- 更容易测试,
- 类型安全和
- 线程安全的。
- 启用使用示例说明需求
- 这些要求是作为情景提出的。
- 从用户的角度来看,场景是系统行为的一个例子,
- 并且使用 Given-When-Then 结构指定它们以创建可测试/可运行的规范
- 鉴于Given< some precondition(s) / events >
- 什么时候When< an action/trigger occurs / commands>
- 然后Then < some post condition / events >
with(orderDecider) { |
检查测试!
Fstore-SQL
该项目使用PostgreSQL 支持的事件存储,针对事件源和事件流进行了优化。
Fstore-SQL仅通过使用 SQL (PostgreSQL)启用事件源和基于池的事件流模式。
- event-sourcing数据模式(通过使用 PostgreSQL 数据库)持久存储事件
- 将事件追加到有序的、仅追加的日志中,使用entity id/decider id作为键
- entity id使用/decider id作为键,按有序顺序加载单个实体/决策程序的所有事件
- 支持乐观锁/并发
- event-streaming同时协调读取来自多个消费者实例的事件流
- 支持实时并发消费者将事件投射到视图/查询模型中
工具
- EventModeling - 一种描述系统的方法,使用信息如何随时间变化的示例来描述系统。
详细点击标题