我有个人类,它的根是它的总和,这个集合也包含国家和州省作为vo。
{ Person,Country,StateProvince} ->Person是根聚合。
// Public Person(字符串名称、字符串国家、州省、{其他params}){}
//但现在我在UI中面临问题,我将如何通过person填充国家和州省的下拉列表,因为它是根聚合,但我不想要任何人指定的国家或州,但我要列出所有国家和他们的州省,以便用户从他们中选择一个。
:我是否手动为国家和州省创建表,并用所有的值manually.If (是)填充它们,然后如何从ddd .中的这些表中获得值?
发布于 2011-03-24 18:54:47
你的模特想告诉你些什么。
国家和StateProvince可能不是个人总数的一部分。
还记得一个非常方便的“删除测试”为一个汇总,问我删除这个人我是不是也删除了他们的国家和StateProvince?我住在加拿大,而你把我从你的系统中移除,你也要把加拿大从你的系统中删除吗?
不你不会的。这里有两个单独的聚合,人员和位置将包含{ country,StateProvince}的聚合,如果您删除一个国家,很可能也会删除其中包含的所有州或省。
仅仅因为Person引用了一个类或有-一个类并不使所有引用都成为该聚合的一部分。在许多系统中,位置是非常常见的集合,并且定期独立。
您应该有一个LocationRepository,它利用LocationRepository并让UI直接调用LocationRepository来获取Location。
发布于 2011-03-24 13:56:19
您将从不同的表中填充您的国家和州省。然后,您将填补这些表格的跌落。当使用已经分配了国家和StateProvince的特定Person实体时,您将通过id将它们绑定到主表。
希望这能有所帮助。
https://stackoverflow.com/questions/5417942
复制相似问题