web-applications - 在 DDD 中,表示层可以同时使用 Repository 和 Service 类吗?

标签 web-applications architecture domain-driven-design

如果表示层只应该使用服务,那么服务类必须公开存储库已实现的相同方法,以使它们可供表示层使用。

这似乎是错误的。有人可以帮我解释一下吗?

最佳答案

我敢打赌,这似乎是错误的,因为您实际上并不需要这种抽象级别。

申请服务为facades 。糟糕的外观会增加比其解决的问题更多的复杂性。像这样的事情:

public int Increment(int v){ v=v+1;return v;}

除非它足够解决复杂性,或者您明确希望所有内容都经过附加层以尽可能地解耦客户端 - 这是没有用的。

就我个人而言,我只是将这些东西放在 Controller 中(如果使用 MVC 模式):

public ActionResult ViewBlogPost(int id){
  //I like to name repositories as collections
  var blog=_blogs.Find(id);

  blog.IsBeingViewedBy(_currentViewer); 
  return View(blog);
}

关于web-applications - 在 DDD 中,表示层可以同时使用 Repository 和 Service 类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4573857/

相关文章:

asp.net - 自动化功能性 Web GUI 测试框架 (asp.net)

java - 如何在两个 servlet 之间通过 apacheMQ 发送消息?

c# - 是否可以使用 oData.net 实现微服务

html - 如果我有一组随机网站,我如何从每个网站获取特定信息?

mongodb - NoSQL 数据库设计 - 带标签的文档

python - Django 和体育类(class)设计应用程序

azure - 使用 Azure Service Fabric 手动控制和生成作业处理代理

design-patterns - 使存储库持久性无知的优点/缺点是什么?

java - 如何使用 CQRS 进行 BDD?

c# - 另一个应用程序架构问题