我刚开始学习领域驱动设计,和的几件事情之一是让我困惑的最多的是如何确定哪一个应该是实体,它应该是值对象DDD:分类实体/值对象
我知道,以确定实体/值对象,我们要立足于域范围内,在一个方面,一个域对象可以是实体的,在另一个,它可以是值对象,但还是有一些情况下,我不能决定
.eg解决 - 在客户管理应用程序(让我们只说一个应用程序来管理客户,添加/删除/更改状态,客户等)的情况下,地址显然是值对象,因为在这里我们并不需要一个地址来区分另一方面,2个客户可以拥有相同的地址 - 另一方面,在线上预订应用程序的情况下,我可以说地址是一个实体吗?因为现在我们需要他们的帐单地址来区分客户(忽略的情况下2个客户具有相同地址的时刻)
对我来说,地址是唯一的本身,所以它肯定已经有了身份。因此,域对象的身份不会决定它是一个实体还是值对象,如果是的话,那么选择的关键因素是什么?
另外一个例子,我有一个应用程序,它列出一个国家的多个领域,用户可以选择一个区域,并找到所有适合他们的搜索条件在这一领域的餐馆。在这种情况下,区域是一个值对象还是实体?目前我认为它更多的是一个实体,但仍不是很确定。每个区域是唯一的也是
我不知道我的问题是清澈还是不行,我尽我所能来解释我的想法目前
非常感谢你,你的解释是我正在寻找的东西,现在一切都更清晰 – 2012-03-19 15:42:47
谢谢,Phuong,很高兴它帮助。 – 2012-03-19 21:16:05