|
µ¨¸¶´ç °ø½Ä ÀºÇà°èÁ |
ÇϳªÀºÇà 227-910235-83607 |
¿¹±ÝÁÖ ÀÌ»ó±¹(¿î¿µÁø) |
|
|
|
|
|
|
|
|
|
|
°ÁÂ, ÆÁ, Á¤º¸ |
°ÁÂ, ÆÁ, Á¤º¸ ÀÔ´Ï´Ù. |
|
|
|
Spring4d °ÁÂ 2 Lazy Object Creation |
ÁÖÁ¤¼·
(ÁÖÁ¤¼·)
2016-12-03 ¿ÀÈÄ 11:42:48
Ä«Å×°í¸®:
ÆÁ
2397ȸ Á¶È¸
µî·ÏµÈ ÆÄÀÏÀÌ ¾ø½À´Ï´Ù.
|
|
|
Ȥ½Ã Lazy Loading¶ó´Â ¸»À» µé¾îº»ÀûÀÌ Àִ°¡? ÀÌ °ÔÀ¸¸¥ ·ÎµùÀ̶ó´Â °ÍÀº ½±°Ô ¸»ÇÏÀÚ¸é ¾î¶² ÀÚ¿øÀ» Á¤¸»·Î ÇÊ¿äÇÒ ¶§±îÁö ¸Þ¸ð¸®³ª ³×Æ®¿÷¿¡ ÀûÀçÇÏÁö ¾Ê°Ú´Ù´Â °ÍÀÌ´Ù.
¿¹¸¦ µé¸é, Database ÇÁ·Î±×·¡¹Ö¿¡¼ Blob Çʵå´Â ¸Å¿ì ±îÅ»½º·± Á¸Àç´Ù. select Äõ¸® ¹®Àå¿¡ Blob Çʵ尡 Ãß°¡µÇ´Â ¼ø°£, ±× select ¹®Àº ¸Å¿ì ´À·ÁÁú ¼ö ÀÖ´Ù. ¿Ö³ÄÇϸé Blob Çʵå´Â Å©±âµµ °¡º¯ÀûÀÌÁö¸¸, ÀÏ¹Ý ¹®ÀÚ¿ Çʵ忡 ºñÇÏ¸é ¿ë·®ÀÌ ¿ùµîÈ÷ Ä¿±â¿¡ ³×Æ®¿÷ ´ë¿ªÆøÀ» ¾öû Àâ¾Æ ¸ÔÀ» ¼ö Àֱ⠶§¹®ÀÌ´Ù.
ÀÌ ¶§¹®¿¡ ÀϹÝÀûÀÎ SELECT¹®¿¡ BLOB Çʵ带 ³ª¿ÇÏÁö ¸»°í ´Ü¼ø Çʵ常 ³ª¿Çؼ È£ÃâÇÏ°í, ½ÇÁ¦·Î BLOB ÇÊµå ³»¿ëÀ» º¸¿©ÁÙ ÇÊ¿ä°¡ ÀÖÀ» ¶§¿¡¸¸ ´Ù½Ã Blob Çʵ常 selectÇÏ´Â Äõ¸®¸¦ º°µµ·Î È£ÃâÇ϶ó´Â °ÍÀÌ´Ù. ÀÌ °³³äÀÌ Lazy Loading ÀÌ´Ù.
°´Ã¼ÁöÇâ¿¡¼µµ ÀÌ¿Í ºñ½ÁÇÑ °³³äÀÌ Lazy Object CreationÀÌ´Ù. ±× °´Ã¼°¡ Á¤¸»·Î ÇÊ¿äÇÒ ¶§ ±îÁö ±× °´Ã¼¸¦ »ý¼ºÇÏÁö ¾Ê°Ú´Ù´Â °³³äÀÌ´Ù.
Àü¿ª °´Ã¼µé Áß¿¡´Â ÇÁ·Î±×·¥ ½ÇÇà Áß¿¡ Çѹøµµ ÂüÁ¶µÇÁö ¾Ê´Â °ÍÀÌ ÀÖÀ» ¼ö ÀÖ´Ù. ±× °´Ã¼°¡ ÇÊ¿äÇϱä ÇÏÁö¸¸, »ç¿ëÀÚ°¡ ¾î¶² ¹öÆ°À» Ŭ¸¯ÇÏÁö ¾Ê´Â ÇÑ, ¶Ç´Â ¾î¶² ƯÁ¤ ÇÔ¼ö¸¦ ½ÇÇàÇÏÁö ¾Ê´Â ÇÑ, ±× °´Ã¼ »ý¼ºÀÌ ÇÊ¿ä ¾øÀ» ¼ö ÀÖ´Ù. ±× °´Ã¼°¡ ¸Å¿ì µ¢Ä¡°¡ Ä¿¼ ¸Þ¸ð¸® ¿ë·®À» ¸¹ÀÌ ¸Ô°Å³ª, ºó¹øÇÑ »ý¼º/Æı«°¡ ¹Ù¶÷Á÷ÇÏÁö´Â ¾Ê¾Æ¼, Á¤ÀÛ ÇÊ¿äÇÒ ¶§¸¸ »ý¼ºÅä·Ï ÇÏÀÚ´Â °ÍÀÌ Lazy Object CreationÀÌ´Ù.
´ÙÀ½°ú °°Àº Äڵ尡 ÀÖ´Ù°í °¡Á¤ÇÏÀÚ.
uses Spring;
type TMyObject = class public // Áß·« constructor Create; destructor Destroy; override; end;
// Áß·«
var obj : Lazy<TMyObject>;
¸ÞÀÎÆûÀÇ OnCreate À̺¥Æ® ȤÀº initializaton ¿µ¿ª¿¡ ´ÙÀ½°ú °°Àº Äڵ带 ±â¼úÇß´Ù°í °¡Á¤ÇÏÀÚ.
obj.Create(function : TMyObject begin Result := TMyObject.Create; end, true);
¸ÞÀÎÆûÀÇ ¾î¶² ¹öÆ°¿¡ ´ÙÀ½°ú °°Àº OnClick À̺¥Æ®¸¦ ¸¸µé¾ú´Ù°í °¡Á¤ÇÏÀÚ.
procedure TForm3.Button1Click(Sender: TObject); begin obj.Value.field1 := '1111'; end;
ÀÌÁ¦ TMyObject °´Ã¼´Â Àú ¹öÆ°À» Ŭ¸¯ÇÏÁö ¾Ê´Â ÇÑ, »ý¼ºµÇÁö ¾Ê´Â´Ù. ´Ù½Ã ¸»ÇÏÀÚ¸é obj.value¸¦ ÂüÁ¶ÇÏ´Â Äڵ尡 ½ÇÇàµÇÁö ¾Ê´Â ÇÑ TMyObject °´Ã¼´Â »ý¼ºµÇÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù.
Srping4dÀÇ Lazy<T>´Â ±× °´Ã¼ ȤÀº ÀÚ¿øÀ» ½ÇÇàÁß¿¡ Á¤¸» ÂüÁ¶ÇÒÁö ¸»Áö ¾Ö¸Å¸ðÈ£ÇÒ ¶§ »ç¿ëÇÑ´Ù.
Âü°í·Î Lazy<T>.Create ÀÇ µÎ¹ø° Àμö´Â ÀÚµ¿ Æı« ¿©ºÎÀÌ´Ù. À§ Äڵ忡¼´Â trueÀ̹ǷΠÀÌÀü °ÁÂÀÇ Managed<T>ó·³ ÀÚ½ÅÀÌ ¼±¾ðµÈ À§Ä¡¿¡ µû¶ó¼ ÀÚµ¿À¸·Î Æı«µÈ´Ù.
|
|
|
|
|
|
|
|
|