DDD应用服务、领域服务傻傻分不清楚?看这篇就够了

很多小伙伴在实践DDD的过程中,一直分不清应用服务 Application Service(后面简称App)领域服务 Domain Service(后面简称Domain)。最近在和几个同学在业余时间做一个小帅包子铺项目,同样遇到这些问题:

  1. App层和Domain层职责上有什么区别?
  2. 这两层的输入、输出分别是什么?
  3. 事务应该在哪一层管理?
  4. 即便业务逻辑非常简单也要拆两层吗,会不会显得太啰嗦?
  5. 这两层是不是都可以访问repository?

光讲概念就没意思了,下面我会结合小帅包子铺中的一个小场景说一说。

1. 举一个