13

Basically, I have a number of objects in my application and I have to convert them to another third party objects before sending the request. On receiving the response I have to convert these objects back to objects supported by my application.

What pattern can I use for converting one model object to another in Java?

4

5 回答 5

9

我认为这没有特定的模式,但您只需要一个“转换器”或“翻译器”类,它接收一个对象并返回另一个对象:

MyObject convert(ThirdPartyObject obj);
ThirdPartyObject convert(MyObject obj);
于 2012-10-25T14:21:05.733 回答
4

适配器或外观模式应该可以解决您的问题:

适配器: http ://www.youtube.com/watch?v=TriX8OiEhOU

门面: http ://www.youtube.com/watch?v=WLjvNpP6yeQ

于 2012-10-25T14:21:28.633 回答
4

AdapterFacade是结构模式。您没有任何模式来迎合对象转换

在创建模式方面,Builder是您可以想到的一种模式。

通常, Builder模式用于构建具有强制和可选参数的对象。但是您可以通过构建必要的对象来微调它。

您也可以在没有模式的情况下解决问题。您可以使用对象组合编写自己的方法来转换对象

使用代码示例查看相关的 SE 问题:

如何在 Java 中修剪其某些字段的对象?

于 2016-03-20T02:14:35.257 回答
1

您可能正在寻找适配器模式:http ://en.wikipedia.org/wiki/Adapter_pattern

于 2012-10-25T14:12:03.453 回答
1

确定对象的上下文有点困难,但是看看汇编器模式,虽然从技术上讲不是设计模式。Assembler 类用于从一个对象映射到另一个对象,特别是当一个对象是 DTO(有点像您的响应对象)到 Domain 对象时。Dozer 框架可以帮助您完成其中一些繁琐的转换。

于 2012-10-25T14:23:26.043 回答