概括和聚合,实体
generalization and aggregrates, entities
您好,我有 2 个实体共享一些共同的属性,studying 和 teacher,然后我考虑进行概括
但我不确定如何在我的域中表示它。
我应该把这个人 table 作为一个正常实体吗?还是作为根聚集体?
还是您不需要将那个人实体和两个学生或教师实体表示为聚合根?
我对如何在泛化情况下对我的域建模有疑问。
但具体来说,我怀疑我是否应该把我的人 class 作为聚合根,实体之间的所有共同点都在人 class
中
这里对DDD有些误解。聚合根不应该直接引用其他聚合根。聚合根引用另一个聚合根的唯一方法是使用其 ID。我不是在这里谈论外键。请记住,每个聚合可能位于单独的数据库中。因此强烈建议不要在聚合根之间共享属性。
您应该做的第一件事是建立限界上下文。也许学生和老师来自两个不同的有界上下文,或者也许他们应该被分配到多个实体中。请记住,跨有界上下文复制数据是可以的。
您好,我有 2 个实体共享一些共同的属性,studying 和 teacher,然后我考虑进行概括
但我不确定如何在我的域中表示它。 我应该把这个人 table 作为一个正常实体吗?还是作为根聚集体? 还是您不需要将那个人实体和两个学生或教师实体表示为聚合根?
我对如何在泛化情况下对我的域建模有疑问。 但具体来说,我怀疑我是否应该把我的人 class 作为聚合根,实体之间的所有共同点都在人 class
中这里对DDD有些误解。聚合根不应该直接引用其他聚合根。聚合根引用另一个聚合根的唯一方法是使用其 ID。我不是在这里谈论外键。请记住,每个聚合可能位于单独的数据库中。因此强烈建议不要在聚合根之间共享属性。
您应该做的第一件事是建立限界上下文。也许学生和老师来自两个不同的有界上下文,或者也许他们应该被分配到多个实体中。请记住,跨有界上下文复制数据是可以的。