Questions tagged «dto»

DTO是数据传输对象(数据传输中使用的一种设计模式)的首字母缩写。


10
普通的旧CLR对象与数据传输对象
Наэтотвопросестьответына 堆栈溢出нарусском:НаглядныйпримерразличияDTO,POCO(POJO)и值对象 POCO =普通旧CLR(或更好:Class)对象 DTO =数据传输对象 在这篇文章中有一个区别,但是坦率地说,我读过的大多数博客都以定义DTO的方式描述了POCO:DTO是用于在应用程序各层之间移动数据的简单数据容器。 POCO和DTO是同一件事吗?
405 c#  .net  poco  dto 

9
Java对象到对象映射的任何工具?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我试图使用Java将DO转换为DTO,并在开始编写自己的工具之前寻找自动化工具。我只是想知道是否有可用的免费工具。
231 java  mapping  dto 


4
REST API-是否有DTO?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 改善这个问题 我目前正在为一个项目创建REST-API,并且一直在阅读有关最佳实践的文章。许多人似乎反对DTO并只是公开域模型,而其他人似乎认为DTO(或用户模型或任何您想称呼的东西)是不好的做法。我个人认为这篇文章很有道理。 但是,我还了解了所有其他映射代码,域模型可能与其DTO对应对象100%相同的DTO的缺点。 我们的API主要是为了使其他客户端可以使用数据而创建的,但是,如果操作正确,我们还将尽可能地将其用于我们自己的Web GUI。 问题是我们可能不想将所有域数据公开给其他客户端用户。许多数据仅在我们自己的Web应用程序中才有意义。另外,我们可能不希望在所有情况下都公开有关某个对象的所有数据,尤其是与其他对象的关系等等。例如,如果我们公开一个特定对象的列表,则我们不一定要公开整个对象层次结构。这样就不会暴露对象的子对象,而是可以通过链接(阴影)来发现它。 我应该如何解决这个问题?我正在考虑在我们的域模型上使用Jackson混合来控制在不同情况下将公开哪些数据。还是考虑到DTO的缺点和争议,我们是否应该一路使用DTO?
154 java  spring  rest  dto  hateoas 


8
DTO = ViewModel?
我正在使用NHibernate持久化域对象。为简单起见,我将ASP.NET MVC项目用作表示层和服务层。 我想从控制器类中以XML返回我的域对象。在阅读了一些有关Stack Overflow的文章之后,我收集了DTO。但是,我也遇到过有关ViewModel的帖子。 我的问题:数据传输对象和ViewModel是同一件事吗?还是ViewModel是DTO的一种子模式?

11
将DTO映射到域对象的最佳实践?
我已经看到了许多与将DTO映射到域对象有关的问题,但是我不觉得它们回答了我的问题。我以前使用过很多方法,也有自己的见解,但我正在寻找更具体的东西。 情况: 我们有很多领域对象。我们使用CSLA模型,因此我们的域对象可能非常复杂,并且它们包含自己的数据访问权限。您不想通过导线传递这些信息。我们将要编写一些新服务,这些服务将以多种格式(.Net,JSON等)返回数据。由于这个原因(和其他原因),我们还创建了一个精益的数据传输对象,以在线上传递。 我的问题是:应该如何连接DTO和域对象? 我的第一个反应是使用Fowler DTO模式类型的解决方案。我已经看过很多次了,这对我来说感觉很对。域对象不包含对DTO的引用。调用外部实体(“映射器”或“汇编器”)以从域对象创建DTO。通常,在域对象方面有一个ORM。不利的一面是,“映射器”在任何实际情况下都变得极其复杂,并且可能非常脆弱。 提出的另一个想法是域对象“包含” DTO,因为它只是一个精益数据对象。域对象属性将在内部引用DTO属性,如果需要,可以仅返回DTO。我看不到任何问题,但感觉不对。我看过一些文章,其中使用NHibernate的人们似乎使用这种方法。 还有其他方法吗?以上方法之一值得使用吗?如果可以,为什么?

6
MVC模型对象,域对象和DTO有什么区别
MVC模型对象,域对象和DTO有什么区别? 我的理解是: MVC模型对象: 为要通过相应视图显示的数据建模。它可能不会直接映射到域对象,即可能包含来自一个或多个域对象的数据。 客户端 可能包含业务逻辑。例如。验证,计算的属性等 没有与持久性相关的方法 域对象: 在问题域中对真实世界对象进行建模的对象,例如“保留”,“客户”,“订单”等。用于保留数据。 服务器端 没有业务逻辑 DTO(数据传输对象): 当层处于单独的进程中时(例如,从DB到客户端应用程序),用于在层之间传输数据的对象。当获取与多个域对象相对应的数据时,允许通过导线进行单个事务,而不是多个调用。DTO仅包含数据和访问器方法,并且不存在逻辑。数据用于特定的DB事务,因此它可能会或可能不会直接映射到域对象,因为它可能包含来自一个或多个域对象的数据。 在层之间传递时,在服务器端和客户端均使用 没有业务逻辑 没有与持久性相关的方法 因此,问题是: 以上理解正确吗?我是否缺少一些要点? 假设模型对象不需要额外的业务逻辑,是否有任何理由不将Domain对象用作MVC模型? 假设Model对象不需要额外的业务逻辑,是否有任何理由不将DTO用作MVC模型?

3
将DTO类与ORM一起使用时,C#8中的可空引用类型
我在具有数据传输对象(DTO)类的项目中激活了此功能,如下所示: public class Connection { public string ServiceUrl { get; set; } public string? UserName { get; set; } public string? Password { get; set; } //... others } 但是我得到了错误: CS8618:不可空的属性'ServiceUrl'未初始化。考虑将属性声明为可为空。 这是DTO类,因此我没有初始化属性。这是初始化类以确保属性为非null的代码的职责。 例如,呼叫者可以执行以下操作: var connection = new Connection { ServiceUrl=some_value, //... } 我的问题:启用C#8的可空性上下文后,如何处理DTO类中的此类错误?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.