我想使用 DDD 做标签云,但对我来说对象标签是一个 VO,但一个 VO 不能插入、编辑、加载,因为它没有自己的存储库。我该如何解决这个问题?我知道我可以在 Entity 中制作 VO 标签,但这是错误的。我该如何解决这个问题?
问问题
228 次
2 回答
2
当值对象开始具有身份和生命周期时,就该考虑将值对象“提升”为域对象了。
在 DDD 中,值对象不能独立于域对象而存在。在您的标签的情况下,他们做到了!
于 2011-01-18T02:42:16.897 回答
1
将一点点“提升”为聚合根没有多大意义,因为不会有与此聚合根相关的行为。真的,它会做什么?
您通常不会创建标签,是吗?它不是*普遍存在的语言*的一部分。你通常做的是用标签标记其他东西,对吧?
您正在谈论的内容 - 构建标签云 - 可能是事物的读取方面。您不必通读域模型。您只需为其构建视图/持久视图模型/投影,然后将它们显示在 UI 中。对我来说,标签云显然是一个投影。
您可以在此处阅读有关视图和 DDD 的旧文章:http: //billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/
于 2013-02-22T13:58:50.767 回答