วันนี้ผมขออธิบายคำศัพท์ 2 คำที่เกี่ยวกับการ Copy Object ครับ
- Shallow copy คือ การ Copy Object โดยที่ข้อมูลยังมี Reference เชื่อมโยงกันในหน่วยความจำครับ ดังรูป
- จุดเด่น: ทำงานเร็วครับ เพราะไม่ต้องมาเสียเวลาสร้าง Object ใหม่
- จุดด้อย: เวลาเขียน Code จัดการ เราต้องควบคุมดีๆ เพื่อป้องกัน Side Effect จากการแก้ไข Object ที่ผิดพลาดครับ เพราะแก้ Value ที่เดียว ทำให้ Object ที่ใช้ Reference เดียวกัน เปลี่ยนค่าไปด้วย
- Deep copy การ Copy Object โดยสร้างอีก Object หนึ่งเลย โดยไม่มี Reference เชื่อมโยงกันในหน่วยความจำครับ ดังรูป
- จุดเด่น: Object แต่ละตัวแยกกันเป็นอิสระ จึงไม่มี Side Effect จากการแก้ไขค่า Object ที่เชื่อมโยงกัน
- จุดด้อย: การทำงานช้ากว่าแบบ Shallow copy เพราะ ต้องเสียเวลามาสร้าง Object ใหม่
สำหรับ Blog ในตอนต่อไปเป็นการแสดงตัวอย่างการ Copy Object ในภาษา Java และ C# ครับ สุดท้ายนี้ครับ เวลาเขียนโปรแกรม สิ่งที่เราต้องรู้ คือ Concept แนวคิดของแต่ละภาษาครับ เพราะเราจะเขียนได้ แต่ไม่สามารถพูดได้เต็มๆปากนะครับ ว่าเราสามารถเขียนเป็น เข้าใจ และมี Performance ดีครับ
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts to your email.