DDD - 为什么实体的身份不仅仅是原始类型?

时间:2015-09-27 06:35:06

标签: entity domain-driven-design

将实体的Id定义为自定义类型而不是原始数据的目的是什么,正如数据库驱动程序员通常所做的那样?

1 个答案:

答案 0 :(得分:3)

首先,域实体必须独立于存储设计(其他问题是有时候这是不可能的,但让我们假设这一点)。在现实世界(或在域名世界中),entites通常具有复杂的身份,如名字,姓氏和密码。这不是原始的。人们从出生就没有int Id,但他们有姓名和其他文件。因此,您需要将其转换为您的域模型。有时候,你没有这种复杂的身份,你可以用一些更简单的东西代替它,比如int号。但是在这两种情况下,如果您尝试使用DDD,那么您的选择不应该基于数据库(这很困难,是的)。然后,您将创建从域实体到表或其他存储的映射。