yuko / ddd-helper
构建ddd架构的常用类和接口
dev-master
2021-11-17 14:12 UTC
Requires
- php: >=7.4.0
This package is auto-updated.
Last update: 2024-09-17 20:17:48 UTC
README
常用的类和接口,用于在设计和实现ddd实体时使用
为什么在基础设施文件夹中 - 为了在各个上下文中使用,以便每个上下文都可以使用它们,而无需不断地复制粘贴
- Model\AggregateRoot.php
一个接口,实体-聚合必须实现。只有聚合才能发布和记录领域事件,因此该接口有一个releaseEvents方法,实体-聚合必须实现。
- Model\EventTrait.php
一个Trait,实现了recordEvent和releaseEvents方法,连接到聚合实体,recordEvent在实体状态改变后按需记录事件,releaseEvents在将聚合实体的状态保存到数据库后调用
- Model\EntityNotFoundException.php
一个领域异常,在业务逻辑中用作领域消息,NotFound非常重要,但也可能有其他类型,例如EntityAlreadyExists等。
- Model\Flusher.php
一个接口,基于工作单元(例如类似于Doktrin)将实体的更改保存到数据库中
- Model\DomainEventDispatcher
一个接口,用于在将聚合实体的状态保存到数据库后启动事件