Java 复制和扩充对象的最佳实践(设计模式)

Java 复制和扩充对象的最佳实践(设计模式),java,design-patterns,Java,Design Patterns,我正在使用一个API来提供对特殊服务器环境的访问。这个API有很多可以从中检索的数据对象。例如APICar 现在我想让“我自己的”数据对象(MyCar)包含该数据对象的所有信息,但我想省略一些属性,对其进行扩充,或者简单地重命名其中的一些属性 这是因为我需要JSON驱动的客户端应用程序中的这些数据对象。因此,当有人更改上述API并更改属性名称时,我的客户端应用程序将立即中断 我的问题是: 有没有最佳实践或设计模式来复制这样的对象?比如当您有一个对象并希望将其转移到另一个类的另一个对象中时?我在e

我正在使用一个API来提供对特殊服务器环境的访问。这个API有很多可以从中检索的数据对象。例如APICar

现在我想让“我自己的”数据对象(MyCar)包含该数据对象的所有信息,但我想省略一些属性,对其进行扩充,或者简单地重命名其中的一些属性

这是因为我需要JSON驱动的客户端应用程序中的这些数据对象。因此,当有人更改上述API并更改属性名称时,我的客户端应用程序将立即中断

我的问题是:

有没有最佳实践或设计模式来复制这样的对象?比如当您有一个对象并希望将其转移到另一个类的另一个对象中时?我在eclipse中看到过类似的东西,叫做“AdapterFactory”,我想知道它是否被广泛使用


更清楚地说:我有
ObjectA
,我需要
ObjectB
ObjectA
来自API,其类可以频繁更改。我需要一个能够将
ObjectA
转换为
ObjectB
的方法、对象或类,我想您正在寻找它

它实际上只是将类A的实例包装到类B的实例中,以提供一种不同的使用方法/不同的类型

“我认为”因为您提到了复制问题,所以它可能不像持久性/传输那样是类/类型问题


根据您的情况,您可能也对动态代理感兴趣,但这是一个Java特性。

我想您正在寻找

它实际上只是将类A的实例包装到类B的实例中,以提供一种不同的使用方法/不同的类型

“我认为”因为您提到了复制问题,所以它可能不像持久性/传输那样是类/类型问题


根据您的情况,您可能还对动态代理感兴趣,但这是Java的一项功能。

本网站介绍了各种广泛使用的模式。也许你在那里找到了合适的东西。我猜你想要的是一堆适配器和一个门面。重命名和隐藏可能在代理模式中找到。只是一些“乍一看”的建议。很可能您需要结合一些模式来实现所描述的完整需求。他立刻来搜查。和这个问题有什么关系?本网站介绍了各种广泛使用的模式。也许你在那里找到了合适的东西。我猜你想要的是一堆适配器和一个门面。重命名和隐藏可能在代理模式中找到。只是一些“乍一看”的建议。很可能您需要结合一些模式来实现所描述的完整需求。他立刻来搜查。我想澄清一下我的问题。我认为适配器没有帮助,因为我需要自己指定“复制过程”。我在“另一种形式的运行时适配器模式”下找到了我想要的。我认为这是实现我想要的方法。是的,这个解决方案似乎是一种动态代理:他们在运行时动态构建适配器。在可配置的系统中,您经常需要此功能。请尝试澄清我的问题。我认为适配器没有帮助,因为我需要自己指定“复制过程”。我在“另一种形式的运行时适配器模式”下找到了我想要的。我认为这是实现我想要的方法。是的,这个解决方案似乎是一种动态代理:他们在运行时动态构建适配器。在一个可配置的系统中,您经常需要它。