fraktalio/fmodel-demos:函数式与反应式领域建模演示


当您开发信息系统以自动化业务活动时,您正在对业务进行建模。您设计的抽象、您实现的行为以及您构建的 UI 交互都反映了业务——它们共同构成了域的模型。
 
fmodel库包
fmodel这个项目可以用作图书馆,或作为灵感,或两者兼而有之。它提供了足够多的战术领域驱动设计模式,针对事件溯源和 CQRS 进行了优化。

  • domain模型库从应用层和API相关的问题完全隔离。它代表程序逻辑的纯声明(纯函数)。它是用Kotlin编程语言编写的,没有额外的依赖。
  • application库通过加载状态、执行domain组件和存储新状态来编排逻辑的执行。它是用Kotlin编程语言编写的,Arrow作为附加依赖项。


 
案例应用
在所有示例中练习洋葱架构/端口和适配器。

 
餐厅管理系统
餐厅管理系统是:

  • 管理餐厅菜单和其他信息,包括位置和营业时间
  • 管理餐厅厨房的订单准备工作

我们将通过实现不同的和/或层,以不同的方式运行我们独特的核心域逻辑:


    1. 状态存储信息系统 :Kotlin、Arrow、Reactive Spring Boot、R2DBC
    2.  事件源信息系统:Kotlin、Arrow、Reactive Spring Boot、Axon 服务器