用于将一个模型转换为另一个模型的设计模式

时间:2012-10-25 14:09:19

标签: java design-patterns

基本上,我的应用程序中有许多对象,我必须在发送请求之前将它们转换为另一个第三方对象。收到响应后,我必须将这些对象转换回我的应用程序支持的对象。

我可以使用什么模式将一个模型对象转换为另一个模型对象?

5 个答案:

答案 0 :(得分:8)

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

MyObject convert(ThirdPartyObject obj);
ThirdPartyObject convert(MyObject obj);

答案 1 :(得分:4)

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

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

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

答案 2 :(得分:2)

适配器 Facade 是结构模式。您没有任何模式可以满足对象转换

在创作模式前面,Builder是您能想到的一种模式。

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

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

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

How to prune an object of some of its fields in Java?

答案 3 :(得分:1)

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

答案 4 :(得分:1)

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