我开始设计第一个简单的 DDD 风格的应用程序,并且开始了解这些概念如何协同工作。
如果我设计一个经典的博客应用程序,Article 类将是我的聚合根之一。我想检索文章、管理和删除所有相关数据(出版日期、作者...)。我对评论有困难。起初,评论似乎是文章聚合的一部分:评论是针对一篇文章创建的,如果我删除一篇文章,我将删除相关评论。
然后我想在博客上显示一个小框,其中包含博客上发布的最新评论,用于任何文章。所以看起来我想从我的数据存储中检索评论(并且只有评论)。根据我对 DDD 思想的理解,这使它成为一个聚合根。但这似乎并不完全正确,因为评论似乎强烈依赖于文章。
你会如何建模?
谢谢。
最佳答案
当您考虑它时,您可能会发现为什么 Comment
应该是 Aggregate 本身的各种原因:
我将以下作为一般经验法则:使您的聚合尽可能小。如有疑问,请选择更多聚合。
通过这种方式建模,您可以将评论附加到多个对象,例如 Article
和 User
Comment
string Text
string UserName
bool IsApproved
Article
string Title
string Body
...
List<CommentIds> CommentIds
User
string UserName
...
List<CommentIds> CommentIds
ListOfTenLatestComments
List<CommentIds> CommentIds
关于domain-driven-design - DDD : should "Comment" in an "Article" be an aggregate root?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12383203/
抱歉,如果这有点乏味,这是我第一次出现堆栈溢出。我正在为学校做 HTML 作业,我们需要在那里建立自己的网站。我如何将文章放在页面的右侧,以便没有文章紧挨着它?提前致谢! 这是针对 HTML5 和 C
如果我们有一个博客文章列表,就像在这种情况下:http://www.gamempire.it/news我认为每个帖子都可以是 ,但页面标题(“Novità”)可能是 , 是什么的语义标题?一个部分
我有一个文章元素的栅格,每个元素代表一个事件。通过复选框 hack,每个事件的附加内容都会在鼠标单击时展开并显示。问题是: 是否有可能只有展开文章正下方同一列中的文章被下推,而其他列中的文章也不会被下
我在 Joomla 1.6 中开发了简单的插件 我坚持:如何获取文章标题和文章网址。 如果尝试打印以下语句,我将没有输出: echo $article->title; echo $article->i
我将如何编写一个正则表达式来匹配任何包含段 "articles" 后跟任何其他段的 URL,但不匹配包含段 "articles-main"< 的 URL/? 所以它会匹配这些: www.mysite.
我遇到了一个问题,我需要把两个不同的 s 在同一行或水平对齐,FirstArticle 位于左侧,宽度相同,SecondArticle 位于 FirstArticle 的右侧,宽度相同。 .Main
我正在阅读 Mark Pilgirm 的“Dive into HTML5”和 semantics section ,它讨论了 HTML5 如何引入 和 元素。它说 s 代表通用文档或部分,而 s
好的,这就是 Google 所说的 ( https://developers.google.com/webmasters/ajax-crawling/docs/getting-started )。 当
我正在使用其示例代码在开发文章下创建 Facebook 即时文章。我已经正确配置了规范 url,我的代码如下 Article Title Articl
我正在寻求有关将 og:type 文章与网站用于单个网页的说明,该网页在技术上不是“文章”,但也不代表整个网站。 文档似乎自相矛盾: 来自 https://developers.facebook.co
我用 Java 制作了一个聊天应用程序,并在前端使用了 javascript、HTML 和 CSS。对于应用程序,您可以发送公共(public)或私有(private)消息。 javascript 从
我尝试使用 HarpJS,一个 NodeJS 静态博客生成器。在教程中有这样的元数据示例: for article, slug in public.articles._data a(href="/a
我希望在单击按钮时使用 jQuery 在文章和 div 之间切换内容。jQuery 到目前为止,但它没有按预期工作。我只有这些,如果你们能指导我,我将不胜感激。 $('.gal').on('cl
我需要有关 nestjs 和 jest 测试的帮助。我是 NestJS 的新手,我在运行测试时遇到了找不到模块错误。 我正在尝试测试我的服务,当我运行测试时,我收到了错误消息: src/article
我试图创建我的数据库到 Laravel 应用程序,但收到此错误。我正在关注这个here教程。 我无法访问我的文章数据库,但我可以访问 User.php 预定义模型中的任何内容。 路由.php use
我不明白: http://localhost/index.php/articles/edit/1/my-first-article 此 URL 在 Kohana framework documenta
如何在 Razor 页面 中通过 url: www.example.com/some-article-name 访问文章? 我在 Asp.Net MVC Core 2.2 RazorPage 中创建了
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
一些浏览器插件,比如readability可以从网页中提取“文章”。有没有人知道如何去做?真实文章与广告或评论有什么区别? 最佳答案 嗯,这取决于你想如何定义“真正的文章”...... 考虑到 HTM
我正在制作一个 Tumblr 主题(请不要批评),我想使用一些语义标签(因为这似乎是大多数主题所没有的东西。)这些博客的样式是主页充满了可能被截断的帖子,也可能不会。然后,您可以单击一个链接并获得指向
我是一名优秀的程序员,十分优秀!