【问题标题】:Blog Architecture Design, using MVC and DDD博客架构设计,使用 MVC 和 DDD
【发布时间】:2009-01-19 11:01:56
【问题描述】:
我正在设计一个关于 asp.net mvc 的博客架构。假设我只有 2 个实体:发布和评论。我需要一个控制器和一个存储库吗?用它的 cmets 显示帖子的机制如何?帖子控制器是否在帖子存储库中查找帖子,然后要求评论控制器检索连接到该帖子的所有 cmets,从 cmets 控制器获取它们并将它们传递给视图?或者我应该编写一个服务来负责查询两个存储库并将结果返回给posts控制器,然后将它们传递给视图?
【问题讨论】:
标签:
asp.net-mvc
domain-driven-design
repository-pattern
blogs
【解决方案1】:
也许首先要注意的是您的博客将具有哪些功能并可以用于其主要功能:
- 编辑
- 订阅
- cmets
- 验证用户身份 - 例如识别博客所有者和发布者。
您的博客还有什么其他想法?
您是否打算尝试一些您在其他地方可能没有见过的 Kool 新创意?如果是这样呢?
需要回答的第一个问题是您的需求,然后您就可以开始担心架构和技术堆栈以及如何编写这种或那种类型的问题。无论哪种方式,您的想法和问题都是最迫切需要的:)
【解决方案2】:
我不确定您使用的是什么 ORM,但我只有一个用于 Posts 的存储库。当我要求发布时,应附加所有 cmets(根据具体实例延迟或急切地加载)。在 DDD 术语中,如果您想以这种方式查看它,我认为您会将其描述为 Posts 实体是“Posts”聚合的根。
我不认为在一个控制器中拥有两个存储库有什么问题。