•  Spine

     

    以更少的代码更智能地应用领域驱动设计。

     

     

    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 许可证

    在闭源项目中自由使用。也欢迎您为改进我们的框架做出贡献。