这些天我正在阅读Domain Driven Desing。应用程序是C#编程。所以我对层之间的数据传输对象感到有点困惑。
为什么我需要为这些图层创建DTO?哪一层包括DTO,每层都包含自己的DTO?
答案 0 :(得分:1)
顾名思义,DTO是仅传输数据的对象。它们不属于任何特定层,它是将数据从一个层或上下文传递到另一个层的方式。您正在使用DTO,因此您不使用该上下文的对象,这些对象模拟特定于上下文的概念。这样,一个层不会耦合到另一个层,并且它们的模型不会被暴露(因为图层/上下文模型在该上下文之外没有意义)。
答案 1 :(得分:0)
这个问题很快就会被关闭(过于宽泛和主观),可能应该在程序员交流中提出。但是,我可以告诉你我们做了什么。我们所有的DTO对象都在数据层创建。所有到和来的映射都在该层。数据层上方的所有代码都使用DTO对象。在经历了许多不同的替代和失败之后,这对我们来说是最好的。