附录 A:概要图和表格
本书结尾我们的架构看起来是这样的

我们的架构组件及其功能 概述了每个模式及其作用。
层 | 组件 | 描述 |
---|---|---|
领域 定义业务逻辑。 |
实体 |
一种领域对象,其属性可能会随时间变化,但具有可识别的身份。 |
值对象 |
一种不可变的领域对象,其属性完全定义了它。它可以与其他相同的对象互换。 |
|
聚合 |
关联对象的集群,我们将其视为数据更改的单元。定义并强制执行一致性边界。 |
|
事件 |
表示发生的事情。 |
|
命令 |
表示系统应执行的作业。 |
|
服务层 定义系统应执行的作业并协调不同的组件。 |
处理器 |
接收命令或事件并执行需要发生的事情。 |
工作单元 |
围绕数据完整性的抽象。每个工作单元代表一个原子更新。使仓库可用。跟踪检索到的聚合上的新事件。 |
|
消息总线(内部) |
通过将命令和事件路由到适当的处理器来处理它们。 |
|
适配器(二级) 从我们的系统到外部世界(I/O)的接口的具体实现。 |
仓库 |
围绕持久存储的抽象。每个聚合都有自己的仓库。 |
事件发布者 |
将事件推送到外部消息总线上。 |
|
入口点(一级适配器) 将外部输入转换为对服务层的调用。 |
Web |
接收 Web 请求并将其转换为命令,传递给内部消息总线。 |
事件消费者 |
从外部消息总线读取事件,并将其转换为命令,传递给内部消息总线。 |
|
不适用 |
外部消息总线(消息代理) |
不同的服务用于通过事件进行互通的基础设施。 |