gpt4 book ai didi

java - 值对象与数据传输对象

转载 作者:行者123 更新时间:2023-11-30 08:12:19 24 4
gpt4 key购买 nike

我是其中一个项目的一部分,我们正在该项目中生成 java web 服务并将其发布到服务器中。其他一些 Java 应用程序正在通过 extjs 使用 Web 服务。

在那个生产者应用程序中遵循领域驱动设计。我们使用了两种类型的 pojos,域对象和 DTO 对象。这两个类都具有相同的属性变量。而 DTO 类正在实现 Serializable 类。

首先,我们从 db 调用中创建了 domians 对象,然后将域对象转换为 dtos 并在 websevice 中发布。

现在我想知道拥有这两种类型的对象是否是一个好习惯?为什么 dto 正在实现可序列化(一个原因可能是在通过网络调用 web 服务时维护对象的状态 --- 这个原因我在 net 中找到,但我不清楚)?

欢迎提供指向此链接或专家解释的任何链接。

提前致谢。

最佳答案

对象被制作成Serializable以便能够传输。它允许将 Object 转换为字节,然后将字节转换为 Object

请注意,通常 DTO 比通常具有许多仅用于业务处理的属性的域对象更轻(自从到达客户端以来)。

所以基本上在一个多层项目中你可以有例如:

  • 域对象映射到数据库
  • 将处理业务规则的业务层
  • 从域对象到 DTO 的转换
  • DTO 转移给客户

一些阅读:

http://www.oracle.com/technetwork/java/transferobject-139757.html

https://softwareengineering.stackexchange.com/questions/171457/what-is-the-point-of-using-dto-data-transfer-objects

Difference between DTO, VO, POJO, JavaBeans?

关于java - 值对象与数据传输对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30614202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com