banq,一个棘手的DDD设计问题

本质问题:
如果有一个对象,同时被两个根对象持有,该如何处理

案例:
比如,SNS中一个简单的收藏功能

一张照片,是属于主人这个根对象的。

但是收藏过后,可能既被主人对象持有这个对象的引用,

收藏人也应该持有这个对象的引用。

这种情况如何处理?想了好久,没有答案。

banq帮帮我

那它就是值对象,或者把它处理成值对象,只有值对象才可以共享或复制。

3Q

你果真是高手。

BANQ,我们小绵羊团队已经基本完全实现了DDD。

实现了缓存中对象的唯一性,缓存对象与数据库同步,缓存对象丢失自动重新加载并保持唯一性。

我们只需要加上分布式缓存,就可以完整的拿出一套DDD的NOSQL解决方案。

包括对象的检索,我们都没有采用HQL查询ID,并保存ID集合的这种方式。

但是我们对DDD的设计经验不足。

如果您感兴趣,我想和您一起探讨。

我的QQ是:427752734

如果分享了照片以后,照片的内容比如评论。。等信息发生了变化,那是否就不是值对象了?不能共享了?因为分享者和被分享者的照片是不同的?

ls 的认识发生偏差了,如你所说的“评论”他根本就不是照片的一部分,在数据上也没有必然的联系。

同一个对象在不同的应用场景中的身份和功能可能有所不同,的确是会存在转换。但不是如你所设想的这样。
[该贴被IceQi于2009-10-26 22:09修改过]