Tôi mới sử dụng JAXB và tôi đã sử dụng xjc của JAXB 2.1.3 để tạo một tập hợp các lớp từ Lược đồ XML của mình. Ngoài việc tạo một lớp cho mỗi phần tử trong lược đồ của tôi, nó còn tạo một lớp ObjectFactory.
Dường như không có điều gì ngăn cản tôi khởi tạo trực tiếp các phần tử, ví dụ:
MyElement element = new MyElement();
trong khi hướng dẫn có vẻ thích
MyElement element = new ObjectFactory().createMyElement();
Nếu tôi nhìn vào ObjectFactory.java, tôi thấy:
public MyElement createMyElement() {
return new MyElement();
}
Vậy thỏa thuận là gì? Tại sao tôi phải bận tâm giữ lớp ObjectFactory xung quanh? Tôi cho rằng nó cũng sẽ bị ghi đè nếu tôi biên dịch lại từ một lược đồ đã thay đổi.