complex-heart/domain-model

用于正确构建值对象、实体和聚合的领域模型工具集。

v4.2.0 2024-07-17 23:48 UTC

This package is auto-updated.

Last update: 2024-09-18 00:18:05 UTC


README

Tests Quality Gate Status Coverage

建模聚合、实体和值对象

Complex Heart 允许您使用一系列特性来建模领域聚合、实体和值对象。很好,但为什么是特性而不是类呢?嗯,有时您的类中存在某种继承关系。被迫使用某个基类过于侵入性,我个人也不喜欢。通过使用一系列特性和接口,您可以拥有所需的所有功能,而不会损害您自己领域的本质。

可用的特性有

  • HasAttributes 提供管理属性的功能。
  • HasEquality 提供处理对象之间等价性的功能。
  • HasInvariants 允许在实例化时进行不变性检查(守卫子句)。
  • HasIdentity 定义实体/聚合标识。
  • HasDomainEvents 提供领域事件管理。

在那些基础特性之上,Complex Heart 提供了现成的组合

  • IsModelHasAttributesHasInvariants 组成。
  • IsValueObjectIsModelHasEquality 组成。
  • IsEntityIsModelHasIdentityHasEquality 组成。
  • IsAggregateIsEntityHasDomainEvents 组成。

有关更多信息,请参阅维基。