gpt4 book ai didi

java - 每次算法迭代更新对象的最佳模式

转载 作者:行者123 更新时间:2023-11-30 04:34:58 24 4
gpt4 key购买 nike

我有一个算法,可以根据对列表进行的一些半随机修改,在每一代中改变对象的状态。为了更清楚我做了简化,所以假设我有两个类:

public class Archive{

...

}

public class Operation{

...

}

在另一个类中,Algorithm ,方法迭代,对 List<Operation> 进行一些调整(类似于遗传算法交叉和突变)。此列表与其他相关对象一起用于更新 Archive对象,对 Archive 进行了大量的计算和修改目的。

在我的代码的当前版本中,我有一个 ArchiveUpdate具有内部 Archive 的类对象和一个接收更新中使用的所有对象以更改存档的方法。我认为这种方式有点模糊,我想不出其他更好的方法,有人可以帮忙吗?

最佳答案

您是否考虑过使 Archive 不可变并提供基于现有存档返回新 Archive 实例的方法?也就是说,类似于:

public class Archive {
private final String field;
public Archive(String field) { this.field = field; }

public Archive changeField(String newField) { return new Archive(newField); }
}

如果您的对象都是不可变的,则更容易推断它们的状态,并且您不需要 ArchiveUpdate 类。然而,如果没有更多关于如何使用这些类的示例,我无法提出太多其他建议。

关于java - 每次算法迭代更新对象的最佳模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13714399/

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