หนึ่งในรายการในจาวาที่มีประสิทธิภาพของ Joshua Bloch คือความคิดที่ว่าคลาสควรยอมให้มีการเปลี่ยนแปลงอินสแตนซ์น้อยที่สุดเท่าที่จะเป็นไปได้
บ่อยครั้งที่ข้อมูลของวัตถุนั้นยังคงอยู่ในฐานข้อมูลของบางรูปแบบ สิ่งนี้ทำให้ฉันคิดถึงความคิดที่ไม่สามารถเปลี่ยนแปลงได้ภายในฐานข้อมูลโดยเฉพาะอย่างยิ่งสำหรับตารางที่แสดงถึงเอนทิตีเดียวภายในระบบที่ใหญ่กว่า
บางสิ่งที่ฉันได้ทำการทดลองเมื่อเร็ว ๆ นี้คือแนวคิดของการพยายามลดการอัปเดตที่ฉันทำกับแถวของตารางที่เป็นตัวแทนวัตถุเหล่านี้และพยายามที่จะทำการแทรกให้มากที่สุดเท่าที่จะทำได้
ตัวอย่างที่ชัดเจนของสิ่งที่ฉันกำลังทดลองใช้เมื่อไม่นานมานี้ หากฉันรู้ว่าฉันอาจต่อท้ายระเบียนด้วยข้อมูลเพิ่มเติมในภายหลังฉันจะสร้างตารางอื่นเพื่อแสดงว่าเรียงลำดับเช่นสองคำจำกัดความของตารางต่อไปนี้:
create table myObj (id integer, ...other_data... not null);
create table myObjSuppliment (id integer, myObjId integer, ...more_data... not null);
หวังว่าจะเห็นได้ชัดว่าชื่อเหล่านี้ไม่ใช่คำต่อคำ แต่เป็นเพียงการสาธิตความคิด
นี่เป็นวิธีการที่เหมาะสมในการสร้างแบบจำลองการคงอยู่ของข้อมูลหรือไม่ มันคุ้มค่าหรือไม่ที่จะพยายาม จำกัด การอัปเดตที่ดำเนินการบนโต๊ะโดยเฉพาะอย่างยิ่งสำหรับการกรอกข้อมูลที่เป็นโมฆะสำหรับข้อมูลที่อาจไม่มีอยู่เมื่อสร้างเรกคอร์ด? มีบางครั้งที่วิธีการเช่นนี้อาจทำให้เกิดอาการปวดอย่างรุนแรงในภายหลังหรือไม่?
UPDATE
) เช่นเดียวกับเวชระเบียนของแพทย์