yuko/ddd-helper

构建ddd架构的常用类和接口

dev-master 2021-11-17 14:12 UTC

This package is auto-updated.

Last update: 2024-09-17 20:17:48 UTC


README

常用的类和接口,用于在设计和实现ddd实体时使用

为什么在基础设施文件夹中 - 为了在各个上下文中使用,以便每个上下文都可以使用它们,而无需不断地复制粘贴

  1. Model\AggregateRoot.php

一个接口,实体-聚合必须实现。只有聚合才能发布和记录领域事件,因此该接口有一个releaseEvents方法,实体-聚合必须实现。

  1. Model\EventTrait.php

一个Trait,实现了recordEvent和releaseEvents方法,连接到聚合实体,recordEvent在实体状态改变后按需记录事件,releaseEvents在将聚合实体的状态保存到数据库后调用

  1. Model\EntityNotFoundException.php

一个领域异常,在业务逻辑中用作领域消息,NotFound非常重要,但也可能有其他类型,例如EntityAlreadyExists等。

  1. Model\Flusher.php

一个接口,基于工作单元(例如类似于Doktrin)将实体的更改保存到数据库中

  1. Model\DomainEventDispatcher

一个接口,用于在将聚合实体的状态保存到数据库后启动事件