Main Menu
Search
Featured Products
Featured Links
| THINK BIG YOU WILL BE BIG |
| Lazy Load |
|
Lazy Load สำหรับใช้ในควบคุมเรื่อง Resource (สร้างเมื่อต้องการใช้ หรือ Load ข้อมูลเมื่อต้องการใช้)
ตัวอย่างหนึ่งเกี่ยวกับการจัดการ Object ในหน่วยความจำ เช่น Gateway มีการสร้าง private Field กับ public Property ประกบกัน
จากเดิม: Class A { private CustomerFC customerProxy = new CustomerFC(); } จะเห็นว่าเมื่อมีการสร้าง Class A ขึ้นจะมีการสร้าง Object ของ customerProxy ไว้ทันที (ทั้งที่ยังไม่รู้ว่าจะมีการเรียกใช้งานหรือเปล่า)
เมื่อปรับมาใช้ LazyLoad: Class A { private CustomerFC customerProxy public CustomerFC CustomerProxy { get { if(customerProxy == null) { customerProxy = new CustomerFC(); } return customerProxy; } }
ตัวอย่างการจัดการเรื่องการดึงข้อมูลจาก Database
ระดับ Table : เลือก Select เฉพาะ Table ที่ต้องการใช้งาน เช่น เมื่อเปิดหน้าจอลูกค้าจะยังไม่ดึงข้อมูล History จนกว่า User จะเปิด Tab History ระดับ Column : เลือก Select เฉพาะ Column ที่ใช้บ่อยๆ เช่น ID, Code, Name กรณีต้องการใช้งาน Column อื่นค่อย Select อีกครั้งเพื่อดึงข้อมูล Column ที่ต้องการ ระดับ Row : เลือก Select เฉพาะ Row ที่ต้องการใช้งาน เช่น การทำ Paging
หมายเหตุ เป็น Lazy Load ตามเข้าใจของผมน่ะ อาจจะไม่ได้อ้างอิงทฤษฏีอะไรมานะครับ |






