27

我找不到它们之间的区别。有谁知道如何区分它们?

4

8 回答 8

18

POJO 或“Plain Old Java Object”是用于描述“普通”Java 对象的名称,与 EJB(最初)或任何依赖于其他技术的“重”对象相对。

DTO 或“数据传输对象”是一个用于...嗯...传输数据的对象,通常在您的“业务”类和持久层之间。它通常是一个无行为的类,很像 C 风格的结构。它们是一个过时的概念。

于 2009-09-15T05:50:51.290 回答
11

POJO只是一个简单的 Java 对象,首字母缩写词用来强调它确实没有什么特别之处。

DTO是一种数据传输对象,用于封装通过层或子系统之间的连接传输的数据。请参阅维基百科文章,它也是核心 J2EE 模式 ( http://www.oracle.com/technetwork/java/transferobject-139757.html )。

http://en.wikipedia.org/wiki/Data_transfer_object

于 2009-09-15T05:47:29.503 回答
8

所有 DTO 都是 POJO,但并非所有 POJO 都是 DTO。一个不是 DTO 的 POJO 示例是包含状态和行为(业务逻辑)的业务类。

于 2012-04-10T22:50:42.363 回答
5

DTO(数据传输对象):是一种核心 J2EE 设计模式,用于在系统内传输数据。DTO 模式


POJO(Plain Old Java Object):它只是人们用来暗示它是一个简单的 Java 对象的首字母缩写词(现在它被大量注释以完成一些有意义的完整工作)。

DTO 模式
J2EE 模式目录

于 2009-09-15T05:48:07.210 回答
5

DTO 是 pojo,但 pojo 不是 dto,因为 pojo 可以有更多的行为但 DTO 基本上没有行为

Oracle 文档有明确的描述。

于 2015-01-14T16:56:42.653 回答
3

POJO 可以有行为。POJOs in Action 一书详细介绍了 POJOs 在应用程序开发中的使用。DTO 是帮助将数据从一层传输到另一层的数据容器。DTO 不应该包含任何行为。

于 2010-09-18T08:47:23.187 回答
1

我可以从DTO 的 wiki 的这句话中理解 POJO 和 DTO 之间的区别:

DTO 是简单的对象,不应包含任何业务逻辑,但可能包含用于通过网络传输数据的序列化和反序列化机制。

此外,Martin Fowler 的企业应用程序架构模式目录中对DTO 进行了完美的可视化和详细描述

于 2018-04-16T15:43:44.983 回答
-3

POJO = 普通旧 Java 对象

DTO = 数据传输对象

- 编辑

好吧,这是假设您不知道首字母缩略词的含义。Pojo 只是一个没有任何继承链的对象。DTO 存在于您的数据模型中,因此可能遵循将其与给定实体相关联的严格链。

于 2009-09-15T05:43:43.817 回答