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

DTO在多层应用程序中的正确位置,dto,n-tier-architecture,Dto,N Tier Architecture,在多层应用程序中,DTO(数据传输对象)的正确位置是什么?有这样的观点认为DTO是用于数据存储层到域层的通信,但不适用于域层到上层逻辑层的交互 我正在开发一个具有以下层的应用程序:数据存储、域、服务、表示。那么,链接服务层和表示层的正确方法是什么?我认为从域层外部打开对域对象的访问是一个封装漏洞,所以解决该任务的唯一方法是使用DTO,但我不确定 许多人(特别是DDD爱好者)说DTO只用于远程调用,基本上是封装那些远程对象 也就是说,我真的更喜欢尽可能明确地将表示层与服务层分开。表示层需要与服务层

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

我正在开发一个具有以下层的应用程序:数据存储、域、服务、表示。那么,链接服务层和表示层的正确方法是什么?我认为从域层外部打开对域对象的访问是一个封装漏洞,所以解决该任务的唯一方法是使用DTO,但我不确定

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

也就是说,我真的更喜欢尽可能明确地将表示层与服务层分开。表示层需要与服务层进行大量隔离。尤其是较厚的客户端成为了新的标准(有棱角的网站、移动设备等)。这意味着将服务层视为远程服务通常是一项不错的投资。无论如何,随着时间的推移,它可能会成为一个真正的远程接口

UI/服务边界通常也是最难确定合同分解的地方。。。大多数UI框架在识别破坏性更改方面做得很糟糕