【问题标题】:What is the relation between a callback and dto? [closed]回调和dto之间有什么关系? [关闭]
【发布时间】:2013-06-19 13:54:16
【问题描述】:

据我了解,数据传输对象实际上是一个没有方法的回调对象。当您传递回调时,您传递数据并将操作附加到它。当您传递 DTO 时,您只需传递属性。对吧?(我们说的是java)

【问题讨论】:

  • DTO 和回调实际上没有任何关系。
  • 在 C++ 中更容易区分。对我来说,在 java 实现中回调看起来像带有附加方法/操作/等的 DTO。
  • 嗯,Java 与 C++ 完全不同。

标签: java oop callback dto


【解决方案1】:

这两个成语之间没有关系。

DTO 只是一段数据的不同表示,通常基于关系投影。基本用途是数据传输。

callback 只是传递一段必须稍后调用的代码的一种方式。例如当某些特定事件发生时调用的侦听器。基本用法是行为传递。

【讨论】:

  • 所以你有 class1obj1.propertyA 和 class2obj1.propertyA 和 propertyB。您将 3 打包在另一个没有方法的对象中,并且您有一个 DTO。您将它们打包在另一个对象中,该对象也具有对属性进行操作的方法,并且您有一个回调对象。是的,DTO 和回调在其目的方面有不同的定义,但在实现方面是否存在任何其他差异、限制等?
  • 一般来说,DTO只用于传输数据,而回调仅用于传输行为。
  • 你的评论应该是回答
【解决方案2】:

不,我不是这么想的。

回调是在特定事件触发时调用的函数。

DTO 只不过是一种糟糕的 J2EE 反模式,一种用于在层之间移动数据的结构。它的出现是因为发现 EJB 1.0 实体 bean 与数据库过于“健谈”,所以有人会在一次往返中将所有数据带回来,并将其打包成 DTO 供 UI 使用。

【讨论】:

  • DTO 技术不仅是 J2EE 关注的问题,而且它可以用来表示一些扁平化的投影,而无需返回整个复杂的对象结构。例如,它可用于管理“分析”查询。
  • 是的,我意识到这一点。由于《Core J2EE Patterns》一书,它恰好深入到 Java 思维中。该问题被标记为 Java。我认为需要强调。但是你的观点很好:像所有模式一样,这个模式超越了语言。
【解决方案3】:

除了其他人已经在这里写过的一些常见示例:

回调示例:例如侦听器,例如 java.awt.event.ActionListener。 (ActionListener 用于在用户按下按钮时运行一些代码)

DTO 样本:例如从您的 WSDL(SOAP Web 服务)生成的 JAXB 类

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-30
    • 2015-01-02
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    相关资源
    最近更新 更多