我找不到它们之间的区别。有谁知道如何区分它们?
答案 0 :(得分:13)
POJO或“Plain Old Java Object”是用于描述“普通”Java对象的名称,而不是EJB(最初)或任何被认为“重”且依赖于其他技术的任何东西。
DTO或“数据传输对象”是......井......传输数据的对象,通常在您的“业务”类和持久层之间传输。它通常是一个无行为类,就像C风格的结构一样。它们是一个过时的概念。
答案 1 :(得分:10)
POJO 只是一个简单的Java对象,首字母缩略词用来强调它确实没什么特别的。
DTO 是一个数据传输对象,用于封装通过层或子系统之间的连接传输的数据。请参阅维基百科文章,它也是核心J2EE模式(http://www.oracle.com/technetwork/java/transferobject-139757.html)。
答案 2 :(得分:6)
所有DTO都是POJO,但并非所有POJO都是DTO。不是DTO的POJO示例是包含状态和行为(业务逻辑)的业务类。
答案 3 :(得分:5)
DTO(数据传输对象):是用于在系统内传输数据的核心J2EE设计模式。DTO Pattern
POJO(普通旧Java对象):它只是人们用来表示这是一个简单的java对象的缩写(现在它被大量注释用于做一些意义上的完整工作)
<强> DTO Pattern
强>
的 J2EE Pattern Catalog 强>
答案 4 :(得分:5)
DTO是pojo,但是pojo不是dto,因为pojo可以有更多的行为,但DTO基本上没有行为
Oracle文档有清晰的描述。
答案 5 :(得分:3)
POJO可以有行为。 POJO in Action一书详细介绍了如何使用POJOS进行应用程序开发。 DTO是帮助将数据从一个层传输到另一个层的数据容器。 DTO不应包含任何行为。
答案 6 :(得分:0)
我可以从DTO's wiki的句子中理解POJO和DTO之间的区别:
DTO是简单的对象,不应包含任何业务逻辑,但可能包含用于通过线路传输数据的序列化和反序列化机制。
此外,DTO完全可视化,并在Martin Fowler的Catalog of Patterns of Enterprise Application Architecture
中详细描述答案 7 :(得分:-2)
POJO =普通旧Java对象
DTO =数据传输对象
- 编辑
嗯,这是假设您不知道首字母缩略词的含义。 Pojo只是一个没有任何继承链的对象。 DTO存在于您的数据模型中,因此可能遵循将其与给定实体相关联的严格链。