THINK BIG YOU WILL BE BIG
Lazy Load
User Rating: / 0
PoorBest 

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 ตามเข้าใจของผมน่ะ อาจจะไม่ได้อ้างอิงทฤษฏีอะไรมานะครับ

 

Advertisement