gpt4 book ai didi

使用原型(prototype)、构建器模式的 Java 对象克隆(附加类成员)

转载 作者:太空宇宙 更新时间:2023-11-04 12:14:36 25 4
gpt4 key购买 nike

解释我的问题并不容易。

JPA 创建一些复杂的计算对象,这些对象存储在数据库中。我们决定将结果设置在该对象的工作副本中。这意味着我们为每个对象模型创建了一个单独的工作副本模型文件,其中具有相同的字段,但有一些其他 LocalDates 值和新的结果字段。当计算开始时,工作副本被实例化。我认为这种方法不是最好的。我想到了克隆对象的原型(prototype)模式。我遇到了如何添加新字段的问题。如何?实例化成本很高并且会创建大量额外的模型类文件。我只想将结果字段作为 transient 字段放在计算数据模型中。也许是内部类或本地类?我还尝试过使用接口(interface)作为数据桶。但这并不是界面的真正目的,而且它只能通过许多奇怪的技巧起作用。对于单元测试和用户输入,我认为最好使用构建器模式,然后告诉 JPA 存储父对象,或者不?

最佳答案

抱歉,我的回答是太渴望评论了:(

存在与列表和集合一对多等关系的大复杂对象关系。当我将结果设置为一个新类时,我无法确定正确的对象,例如在一个列表中。因此,我们为这些结果构建相同的结构,并将这些类分离在一个包中。也许可以不再次构建结构并引用“基本类”。引用每个基本类和结果类就足够了。只需要多一点导航就可以从更深的类中获取值。对于类似的用例,必须有最佳实践,或者?接口(interface)或某物。我非常不喜欢很多类(class)的结果。是否无法克隆并向其添加类成员以获得结果或更轻松地进行逻辑组或类似的操作?

这可能是某人的解决方案: http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fjdt%2Fcore%2FIWorkingCopy.html

在这里,您将使用 Eclipse API 并创建 IWorkingCopies。对于所描述的任务来说太多了。

关于使用原型(prototype)、构建器模式的 Java 对象克隆(附加类成员),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39547031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com