morebec/orkestra

Orkestra 是一个用于创建 CQRS 应用程序的架构和基础设施辅助库

1.0.1 2020-11-05 23:11 UTC

This package is auto-updated.

Last update: 2024-09-27 02:16:27 UTC


README

Orkestra 是一个有偏见的框架,我们在 Morebec 内部开发新产品时,在架构设计上提出了许多建议。它还提供了技术工具,以快速创建易于维护和扩展的产品。

在核心上,Orkestra 提供了 DDD、CQRS 和事件源实用工具。

Orkestra 允许快速开发产品和应用,同时保持标准化的方法,易于理解和改进。

为什么选择 Orkestra

鉴于 Morebec 当前的性质,即独立软件开发,为了向客户提供价值,我们需要有一种在项目之间相似的结构,同时提供一种可以经受时间考验和扩展的稳定平台。

构建面向公众生产的应用程序本身就是一项挑战,需要大量的思考和准备。

为了确保我们始终能够提供相同的质量水平,同时为客户的潜在扩展做好准备,Orkestra 作为一个技术和思维框架,帮助我们实现这些目标。

从技术角度来看,Orkestra 尽可能地保持不干扰,主要通过接口来表示它试图满足的概念性契约。可扩展和有弹性的 CQRS 和事件源需要大量的管道,很容易出错,因此它提供了这些契约的默认实现,尽可能保持在不同层(应用程序、领域和基础设施)的边缘。这一套接口允许不同项目在需要时扩展框架,同时仍然与 Orkestra 框架及其生态系统兼容。

特性

  • 领域驱动设计构建块。
  • 命令查询责任分离(CQRS)构建块。
  • 事件源构建块。
  • 应用程序内消息传递。
    • 基于责任链模式(中间件管道)
    • 默认同步处理。
    • 使用工作器和调度进行异步处理。
    • 调度支持。
    • 具有关联性和因果追踪的跟踪。
  • 显式个人信息服务接口。

安装

要包含 Orkestra 在您的项目中,强烈建议使用 composer

运行以下 composer 命令

$ composer require `morebec/orkestra`

适配器

Orkestra 依赖于适配器来向基类添加功能。

使用 && 文档

有关如何使用 Orkestra 及其核心原则的文档,请参阅 docs/ 目录。