Shallow Copy กับ Deep Copy มีประโยชน์อย่างไรบ้าง

บทความนี้ ผมแตกมาจากบทความหลักครับ โดยหลักจากเรารู้เข้าใจนวคิดมันแล้วเนี่ย ผมเลยขอพาไปดู การใช้งานจริงครับว่ามีอะไรบ้าง ถ้านึกออกจะแวะมาใส่เรื่อยๆครับ

  • Shallow Copy ใช้ใน ORM ครับ เพราะ Record ที่เราอ้างอิงจาก Table ใน Database มันควรมี 1 รายการ ถ้าไปใช้ Deep Copy เอาเวลาตอนจะ Insert กลับเข้าไปตัว ORM ไม่รู้ว่าควรจะ Insert Object ตัวไหนที่ Copy ไปครับ
  • Deep Copy ใช้สำหรับการทำ Cache ข้อมูล Object ที่เรียกใช้บ่อยๆ เพราะไม่จำเป็นต้องโหลดทุกครั้งที่เรียกใช้ แต่การอ้างอิงถึง Object ที่เก็บไว้ใน Cache หรือ Hash table ตรงๆ มันจะเป็น reference object (ถ้าในพวกภาาา C จะเป็น Pointer ครับ) หากมีการแก้ไขค่าใน Object ที่ถูกนำไปใช้ จะทำให้ค่าที่เก็บไว้ใน Cache เปลี่ยนไปด้วย ดังนั้นจึงต้องทำการ Clone Object ออกมาจาก Cache แล้วจึงค่อยนำไปใช้นะครับ

 


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.