Tôi đang duy trì một cơ sở mã Java cũ hơn (jvm 1.4) dường như sử dụng nhân bản như là một thay thế cho instantiation đối tượng, tôi đoán là tối ưu hóa hiệu suất. Dưới đây là một ví dụ giả tạo:Nhân bản có cung cấp cải tiến hiệu suất hơn các phương thức xây dựng/nhà máy không?
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
}
}
Thông thường, hãy thận trọng về tối ưu hóa sớm, đây có phải là thành ngữ được đề nghị không?
Có vẻ lạ. Tôi sẽ sử dụng constructor cho instantiation object mới. –