软件说明
01、定义丰富的、类型安全的域模型
使用Protobuf描述实体的命令、事件和状态 。
02、为所有层和运行时生成数据类型代码
03、以直接且可测试的方式添加业务逻辑
专注于业务逻辑而不是“管道”。ACommand将只交付给一个Aggregate。 Projections会得到Event他们需要的所有东西。 ProcessManagers将涵盖更复杂的场景。存储、消息传递和其他环境事务与主代码隔离。
04、轻松部署到Google Cloud或自定义环境
内存中和基于JDBC的存储实现允许快速实现和测试核心逻辑。只需几行代码,即可将您的应用程序用于选定的部署环境。
产品功能特征:
01、代码生成
当您更新模型时,会自动为项目的所有语言生成代码。忘记错过hashCode()或equals()。
02、清除API
来自DDD书籍的概念,例如Aggregate, Projection, ProcessManager, Repository就在代码中。有没有想过如何做饭BoundedContext?别再猜了!
03、促进不变性
所有数据类型都是不可变的,这使得缓存和共享变得容易。突变仅在使用明确定义的周期响应传入消息时执行。
04、模型可拓展
借助Protobuf支持,可以扩展模型,以保持与应用程序的客户端和服务器节点的向后和未来兼容性。
05、内置验证
业务模型中定义的约束会自动检查命令、事件和实体状态。
06、类型安全
如果您需要CustomerId或 WorkEstimate重视,您可以在几秒钟内得到它,支持多种语言。您还可以拥有二进制存储格式和自动 JSON 支持。
07、多租户支持
将单租户应用程序转换为多租户应用程序需要几行代码。您不必 tenantId为所有调用引入参数。
08、多个存储和部署平台
该框架促进了与存储和平台无关的代码的开发。您可以从 JDBC开始,然后 只需更改几行代码即可 切换到Google Cloud Platform Datastore 。
09、发展更快,结果更好
使用CQRS和事件驱动架构,您可以分离开发工作流。更有经验的团队成员可以专注于核心领域和写入端任务,而读取端和UI则由团队的其他成员创建。
10、开放业务变更
添加和删除字段,同时保持与旧代码的二进制兼容性;处理新的机会oneof,由 Protobuf 原生提供。Projections根据系统的整个事件历史构建新的。
11、许可的 Apache 许可证
在闭源项目中自由使用。也欢迎您为改进我们的框架做出贡献。