DTO在多层应用程序中处于正确的位置

时间:2015-03-22 15:50:17

标签: dto n-tier-architecture

在多层应用程序中,DTO(数据传输对象)的正确位置是什么?有这样的意见DTO是用于数据存储层到域层通信但不适合域层到上层逻辑层的交互。

我正在删除具有以下层的应用程序:数据存储,域,服务,演示。那么链接服务和表示层的正确方法是什么?我想从域层外部对域对象的开放访问是封装破坏,所以解决任务的唯一方法是使用DTO,但我不确定。

1 个答案:

答案 0 :(得分:0)

许多人(特别是DDD爱好者)说DTO仅用于远程调用,基本上是封装那些远程对象。

话虽这么说,我真的更喜欢尽可能明确地将我的表示层与我的服务层分开。表示层需要与服务层进行大量隔离。特别是较厚的客户端是新规范(Angular网站,移动设备等)。这意味着将服务层视为远程服务通常是一项很好的投资。无论如何,它可能会成为一个真正的远程接口。

UI /服务边界通常也是通常最难确定合同细分的地方......大多数UI框架在确定重大变化方面做得非常糟糕。