Я поддерживаю старую базовую базу Java (jvm 1.4), которая, похоже, использует клонирование в качестве альтернативы экземпляру объекта, я предполагаю, что это оптимизация производительности. Вот надуманный пример:Выполняет ли клонирование улучшение производительности над конструкторами/фабричными методами?
public class Foo {
private SomeObject obj; // SomeObject implements Cloneable
public Foo() {
obj = new SomeObject();
obj.setField1("abc"); // these fields will have the same value every time
obj.setField2("def");
}
public void doStuff() {
SomeObject newObj = obj.clone(); // clone it instead of using a factory method
// do stuff with newObj
}
}
Обычные предостережений о преждевременной оптимизации несмотря на это, было это на самом деле рекомендовал идиома в какой-то момент?
Кажется странным. Я бы использовал конструктор для создания нового объекта. –