通过DDD应用程序从REST API返回域模型是否合适?

red*_*edi 12 rest domain-driven-design

如果你在CRD的DDD应用程序之上有一个REST层,你会让REST层吐出域模型(就数据而言)(比如GET)吗?

Mar*_*ijn 23

通常,您希望能够更改域对象(例如,当您了解有关域的新内容时),而无需更改系统的公共接口/ API.反过来说:如果公共接口需要更改,则不希望更改域模型.

因此,从这个角度来看,我永远不会在公共接口上公开我的域对象.相反,我会创建属于公共接口的数据传输对象(DTO).这样,对我的域和公共API的更改可以独立更改.

  • 这有点偏颇.在DDD中没有必要人为地"保护"域中的用户:某些概念可能"经过"尽可能接近建模,其他概念则被隐藏(除非模型不完全正确).此外,在原来的帖子"REST over DDD"是值得怀疑的.首先应该(大部分时间)在域之上的某种应用层.这意味着,域对象已经分开. (2认同)