For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
随着互联网的不断发展,程序员在开发软件的时候能够用到的编程开发技术和工具类型也越来越多了,而本文我们就简单来学习一下,Java编程数据传输对象用法分析。
数据传输对象(DTO)
DTO是一个简单的对象,用于在应用程序层和表示层之间传输状态(数据)。因此,应用程序服务方法获取和返回dto
通用DTO原则和实践:
就其本质而言,DTO应该是可序列化的。因为,大多数时候它是通过网络传输的。因此,它应该有一个无参数(空)构造函数。
不应该包含业务逻辑。
永远不要继承或引用实体。
输入dto(传递给应用程序服务方法的dto)与输出dto(从应用程序服务方法返回的dto)具有不同的性质。所以,他们会被区别对待
输入DTO实践
不要为输入dto定义未使用的属性
只定义用例所需的属性!否则,客户端在使用ApplicationService方法时会感到困惑。您当然可以定义可选属性,但是当客户端提供它们时,它们应该影响用例的工作方式
这条规则似乎没有必要。谁会为方法定义未使用的参数(输入DTO属性)?但是,这种情况会发生,尤其是当您试图重用输入dto时。
不要复用输入dto
为每个用例定义专门的输入DTO(应用程序服务方法)。否则,某些属性在某些情况下不使用,这违反了上面定义的规则:不要为输入dto定义未使用的属性
有时,为两个用例重用同一个DTO类似乎很有吸引力,因为它们几乎是相同的。即使他们现在是一样的,他们可能会变成不同的时候,你会遇到相同的问题。代码复制是比耦合用例更好的实践
重用输入dto的另一种方法是相互继承dto。虽然这在一些罕见的情况下是有用的,但大多数情况下它会使你达到相同的目的
输出DTO实践
保持输出DTO计数小。在可能的情况下重用(例外:不要将输入dto重用为输出dto)
输出dto可以包含比客户端代码中使用的更多的属性。
从创建和更新方法返回实体DTO。
这些建议的主要目的是:
使客户端代码易于开发和扩展
在客户端处理类似但不相同的dto是有问题的
将来在UI/客户端上添加其他属性是很常见的。返回实体的所有属性(通过考虑安全性和特权)使客户端代码很容易改进,而不需要接触后端代码
如果你将API开放给客户,而你不知道每个客户的需求
使服务器端代码易于开发和扩展
你需要理解和维护的类更少
您可以重用Entity->DTO对象映射代码
从不同的方法返回相同的类型使创建新方法变得简单明了
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。