基本上,我的应用程序中有许多对象,我必须在发送请求之前将它们转换为另一个第三方对象。收到响应后,我必须将这些对象转换回我的应用程序支持的对象。
我可以使用什么模式将一个模型对象转换为另一个模型对象?
基本上,我的应用程序中有许多对象,我必须在发送请求之前将它们转换为另一个第三方对象。收到响应后,我必须将这些对象转换回我的应用程序支持的对象。
我可以使用什么模式将一个模型对象转换为另一个模型对象?
适配器或外观模式应解决您的问题:
我认为没有特定的模式,但你只需要一个“转换器”或“转换器”类,它接受一个对象并返回另一个对象:
MyObject convert(ThirdPartyObject obj);
ThirdPartyObject convert(MyObject obj);
您可能会寻找适配器模式: http://en.wikipedia.org/wiki/Adapter_pattern
确定对象的上下文有点困难,但是看看Assembler模式,虽然技术上不是设计模式。 Assembler类用于从一个对象映射到另一个对象,特别是当一个对象是域对象的DTO(有点像您的响应对象)时。 Dozer框架可以帮助您进行一些繁琐的转换。
适配器 和 正面 是结构模式。你没有任何模式可以满足 对象转换。
在创作图案前面, 生成器 是你能想到的一种模式。
通常 生成器 pattern用于构建具有强制和可选参数的对象。但你可以通过构建必要的对象来微调它。
您也可以在没有模式的情况下解决问题。要么你可以使用 对象组成 要么 编写自己的方法来转换对象。
用代码示例看看相关的SE问题: