ฉันเพิ่งเริ่มใช้ JAXB และฉันใช้ xjc ของ JAXB 2.1.3 เพื่อสร้างชุดของคลาสจาก XML Schema ของฉัน นอกเหนือจากการสร้างคลาสสำหรับแต่ละองค์ประกอบในสคีมาของฉันแล้วยังสร้างคลาส ObjectFactory
ดูเหมือนจะไม่มีอะไรหยุดฉันจากการสร้างอินสแตนซ์องค์ประกอบโดยตรงเช่น
MyElement element = new MyElement();
ในขณะที่แบบฝึกหัดดูเหมือนจะชอบมากกว่า
MyElement element = new ObjectFactory().createMyElement();
ถ้าฉันดู ObjectFactory.java ฉันจะเห็น:
public MyElement createMyElement() {
return new MyElement();
}
แล้วตกลงคืออะไร? ทำไมฉันถึงต้องกังวลกับการรักษาคลาส ObjectFactory ไว้ด้วย? ฉันคิดว่ามันจะถูกเขียนทับด้วยถ้าฉันจะคอมไพล์ใหม่จากสคีมาที่เปลี่ยนแปลง