º¸Åë ÇÁ·¹ÀÓ¿öÅ©¶ó°í Çϸé ÀÚ¹Ù ±â¹ÝÀÇ ´Ù¾çÇÑ ÇÁ·¹ÀÓ¿öÅ©¸¦ ¶°¿Ã¸®±â ½Ê»óÀÌÁö¸¸, ÃÖ±Ù¿¡´Â ´å³Ý ¹öÀüÀ¸·Î ÄÁ¹öÀü µÇ°í ÀÖ´Â °æ¿ìµµ Á¾Á¾ º¸°Ô µÈ´Ù. ÇÁ·¹ÀÓ¿öÅ©ÀÇ Á߿䵵°¡ ³ô¾ÆÁü¿¡ µû¶ó MS´Â ´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0ÀÇ ¸ð½ÀÀ» °ÅÀÇ °®Ãá »óÅÂÀÌ´Ù. ¶Ç, Áö³ÇØ¿¡´Â Çѱ¹ MS ´Üµ¶À¸·Î microsoft.Framework¸¦ ¹«·á °ø°³Çϱ⵵ Çß´Ù. ¾î¼¸é ¸ÓÁö¾Ê¾Æ ´õ ´Ù¾çÇÑ ´å³Ý ±â¹Ý ÇÁ·¹ÀÓ¿öÅ©µéÀ» ¸¸³ª°Ô µÉ Áöµµ ¸ð¸¦ ÀÏÀÌ´Ù.
´å³Ý ÇÁ·¹ÀÓ¿öÅ©ÀÇ È°¿ë Àü·«¿¡ ´ëÇØ ¾Ë¾Æº¸±â¿¡ ¾Õ¼ ÇÁ·¹ÀÓ¿öÅ©°¡ ¹«¾ùÀÎÁö¿¡ ´ëÇØ ´Ù½Ã Á¤ÀÇÇØ º¸ÀÚ. ÇÁ·¹ÀÓ¿öÅ©´Â GofÀÇ µðÀÚÀÎ ÆÐÅÏÀ¸·Î À¯¸íÇÑ ¶öÇÁ Á¸½¼(Ralph Johnson)Àº ÇÁ·¹ÀÓ¿öÅ©¸¦ ´ÙÀ½°ú °°ÀÌ Á¤ÀÇÇß´Ù.
¡°A framework is a set of cooperating classes that make up a reusable design for a specific class of software¡±
¡°ÇÁ·¹ÀÓ¿öÅ©¶õ ¼ÒÇÁÆ®¿þ¾îÀÇ ±¸Ã¼ÀûÀÎ ºÎºÐ¿¡ ÇØ´çÇÏ´Â ¼³°è¿Í ±¸ÇöÀ» Àç»ç¿ëÀÌ °¡´ÉÇϰԲû ÀÏ·ÃÀÇ Çù¾÷ÈµÈ Å¬·¡½ºµéÀÇ ÁýÇÕ¡±
¶öÇÁ Á¸½¼ÀÇ Á¤ÀÇ¿¡¼ ¾Ë ¼ö ÀÖµíÀÌ ÇÁ·¹ÀÓ¿öÅ©ÀÇ ÇÙ½ÉÀº Àç»ç¿ë¼º¿¡ ÀÖ´Ù. Àç»ç¿ë °¡´ÉÇϵµ·Ï Ŭ·¡½ºµéÀ» ¼³°èÇØ¼ ¸¸µé¾î¾ß¸¸ ÇÁ·¹ÀÓ¿öÅ©¶ó ºÎ¸¦ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ Àç»ç¿ë¼ºÀº Ãß»óȸ¦ ÀüÁ¦·Î ÇÑ´Ù. ±×·¸´Ù¸é ¶óÀ̺귯¸®¿Í´Â ¾î¶»°Ô ±¸º°ÇÒ ¼ö ÀÖÀ»±î?
¶óÀ̺귯¸®´Â ƯÁ¤ ±â´ÉÀ» ±¸ÇöÇϴµ¥ Áß½ÉÀ» µÐ ¹Ý¸é¿¡, ÇÁ·¹ÀÓ¿öÅ©´Â ÀÌ·¯ÇÑ ±â´É ¹®Á¦¸¦ ÇØ°áÇÑ ¶óÀ̺귯¸®¸¦ Á¶ÇÕÇÏ¿© ½ÇÁ¦ ¹®Á¦ ÇØ°á¿¡ Áß½ÉÀ» µÎ°í ¸¸µç °ÍÀ̶ó°í ÀÌÇØÇÏ¸é ½¬¿ï °ÍÀÌ´Ù.
ÇÁ·¹ÀÓ¿öÅ©´Â º¸´Â °üÁ¡ µû¶ó¼ ´Ù¾çÇÑ ºÐ·ù ¹æ¹ýÀÌ ÀÖ´Ù. ´å³Ý ÇÁ·¹ÀÓ¿öÅ© °°Àº °ÍÀ» º¸Åë º¥´õ ÇÁ·¹ÀÓ¿öÅ©(Vendor Framework)¶ó°í ºÐ·ùÇÑ´Ù. MS¶ó´Â º¥´õ »ç¿¡¼ ¸¸µé¾ú±â ¶§¹®ÀÌ´Ù. Àß »ç¿ëµÇÁö´Â ¾ÊÁö¸¸ ½ã¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî¿¡¼µµ ÀÚ¹Ù ±â¹ÝÀÇ JATO(Sun One Application Framework)¶ó´Â º¥´õ ÇÁ·¹ÀÓ¿öÅ©¸¦ ¸¸µé¾î ¹èÆ÷Çϰí ÀÖ´Ù.
´å³Ý ÇÁ·¹ÀÓ¿öÅ©´Â ±× ÀÚü·Î ÇϳªÀÇ ÈǸ¢ÇÑ ÇÁ·¹ÀÓ¿öÅ©ÀÌ´Ù. ÇÏÁö¸¸ ÀÌ ´å³Ý ÇÁ·¹ÀÓ¿öÅ©¸¸ °¡Áö°í ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µå´Â °æ¿ì´Â ÈçÄ¡ ¾ÊÀ» °ÍÀÌ´Ù. ´ëºÎºÐ ¾ÖÇø®ÄÉÀÌ¼Ç ¼º°Ý¿¡ ¸Â´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ ¹Ì¸® ÁغñÇØ¼ ±× ÇÁ·¹ÀÓ¿öÅ© À§¿¡¼ °³¹ßÀ» ÇÏ°Ô µÈ´Ù.
µû¶ó¼ ´å³Ý ÇÁ·¹ÀÓ¿öÅ©´Â ÇÁ·¹ÀÓ¿öÅ©ÀÇ ÇÁ·¹ÀÓ¿öÅ©¶ó°íµµ ÇÒ ¼ö ÀÖ´Ù. ÇÁ·¹ÀÓ¿öÅ©´Â ±× ÀÚü·Î ¿Ï¼ºµÈ ÀÛǰÀÌ ¾Æ´Ï¸ç, ¾÷¹«¿¡ µû¶ó ÇÁ·¹ÀÓ¿öÅ© À§¿¡ ¶Ç ´Ù¸¥ ÇÁ·¹ÀÓ¿öÅ©¸¦ ¿Ã·Á¼ ´õ¿í Ãß»óÈµÈ ÇüÅ·Π»ç¿ëÇÒ ¼öµµ ÀÖ´Â °ÍÀÌ´Ù.
 |
| <±×¸²1> ´å³Ý °³¹ß ¾ÆÅ°ÅØÃ³ |
 | ÇÁ·¹ÀÓ¿öÅ©°¡ ÇÊ¿äÇÑ ÀÌÀ¯?
|  |
ÇÁ·¹ÀÓ¿öÅ©°¡ ÇÊ¿äÇÑ ÀÌÀ¯¸¦ ÇѸ¶µð·Î ¿ä¾àÇÏÀÚ¸é ¹Ù·Î »ý»ê¼ºÀÌ´Ù. ÇÁ·¹ÀÓ¿öÅ© ¾øÀÌ ÇÁ·ÎÁ§Æ®¸¦ ÇÑ´Ù¸é °°Àº ±â´ÉÀ» ¼öÇàÇÏ´Â ¼·Î ´Ù¸¥ ¹öÀüÀÇ Äڵ尡 Á¸ÀçÇÒ °ÍÀ̰í, ¸Å¹ø ¶È°°Àº ÀÏÀ» ¼öÇàÇÏ´Â Äڵ尡 Copy&Paste ¹æ½ÄÀ¸·Î Â÷¿ëµÉ °ÍÀÌ´Ù.
¶Ç, °³¹ßÀÚÀÇ ½Ç·Â¿¡ µû¶ó õÂ÷¸¸º°·Î ´Þ¶óÁö´Â Äڵ带 ÅëÇØ¼ À¯Áöº¸¼öÀÇ ¾î·Á¿òÀ» ´À³¥ °ÍÀÌ´Ù. »õ·Î¿î ȯ°æÀ̳ª º¯È¿¡ µû¶ó Äڵ带 ´Ù½Ã ´Ù µÚÁý¾î ¾÷´Â °æ¿ìµµ ¹ß»ýÇÒ °ÍÀ̸ç, °³¹ßÀÚµéÀÌ °³¹ßÇÑ Äڵ带 Á¤¸» Àß ¸¸µé¾ú´ÂÁö °Ë¼öÇÒ ¹æ¹ýÁ¶Â÷ ¸·¸·ÇØ Áú °ÍÀÌ´Ù.
Á¤ÇüÈµÈ ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇϸé Ç¥ÁØÈµÈ ÄÚµåµéÀ» »ý»êÇØ ³¾ ¼ö ÀÖÀ¸¸ç, À̸¦ ÅëÇØ¼ »ý»ê¼ºÀ» Çâ»ó ½Ã۰í ÁÁÀº ǰÁúÀÇ Äڵ带 ¸¸µé¾î ³¾ ¼ö ÀÖ´Â °ÍÀÌ´Ù.
MS¿Í ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¿ª»ç
±â¾÷¿ë ¾ÖÇø®ÄÉÀÌ¼Ç È¯°æ¿¡¼ ±×µ¿¾È ÀÚ¹Ù Áø¿µÀÌ µÎ°¢À» ³ªÅ¸³»¿Â ¸¸Å ÀÚ¹Ù Áø¿µ¿¡´Â ¼ö¸¹Àº ¿ÀÇ ÇÁ·¹ÀÓ¿öÅ©°¡ Á¸Àç ÇÑ´Ù. ¿ÀÈ÷·Á ³Ê¹« ¸¹¾Æ¼ ¹«¾ùÀ» ¼±ÅÃÇØ¾ß ÇÒÁö ÇູÇÑ °í¹Î¿¡ ºüÁö±âµµ ÇÑ´Ù. ÇÏÁö¸¸ ´å³Ý Áø¿µ¿¡¼´Â ¼±ÅÃÇÒ ¼ö ÀÖ´Â ÇÁ·¹ÀÓ¿öÅ©°¡ ¸¹Áö ¾Ê´Ù.
MS´Â °ú°Å Ŭ¶óÀÌ¾ðÆ® ±â¹ÝÀÇ À©µµ¿ì³ª ¿ÀÇǽº¿Í °°Àº ÆÐŰÁö ¼ÒÇÁÆ®¿þ¾î¿¡¼ µÎ°¢À» ³ªÅ¸³»¾úÁö¸¸, ¼¹ö ±â¹ÝÀÇ ±â¾÷¿ë ¾ÖÇø®ÄÉÀ̼ÇÀº ÀÚ¹Ù Áø¿µÀÌ µÎ°¢À» ³ªÅ¸³»°í ÀÖ¾ú´Ù.
MS´Â ÀÌ·¯ÇÑ ±â¾÷¿ë ½ÃÀå¿¡¼´Â ÈÄ¹ß ÁÖÀÚ¿´À¸¸ç, ÆÐÅÏÀÌ´Ï ÇÁ·¹ÀÓ¿öÅ©´Ï ÇÏ´Â ¿ë¾î ÀÚü°¡ MS³»¿¡¼´Â Àͼ÷ÇÏÁö ¾ÊÀº ¿ë¾î¿´´Ù. ÇÏÁö¸¸ ±Ù·¡¿¡ µé¾î ÀÌ·¯ÇÑ ±â¾÷¿ë ½ÃÀå¿¡ ´«À» ¶á MS´Â ±â¾÷¿ë ¼¹ö ±â¹ÝÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» Á¦ÀÛÇϴµ¥ ÀÖ¾î °³¹ß ¹æ¹ý·Ð, ÆÐÅÏ, °³¹ß ÇÁ·¹ÀÓ¿öÅ©¸¦ Á¤¸®Çϱ⠽ÃÀÛÇß´Ù.
±×·¸°Ô ÇØ¼ ¸¸µç »çÀÌÆ®°¡ MSÀÇ ÆÐÅÏ ¾ØÇÁ·ºÆ¼½º »çÀÌÆ®ÀÌ´Ù(
http://msdn.microsoft.com/practices). À̰÷¿¡ °¡¸é ¾ÆÅ°ÅØÃ³¿¡¼ºÎÅÍ ¶óÀ̺귯¸®±îÁö »ó¼¼ÇÑ °¡À̵å¶óÀÎÀ» Á¦½ÃÇϰí ÀÖ´Ù.
ÇÁ·¹ÀÓ¿öÅ©¸¦ À§ÇÑ ¿£ÅÍÇÁ¶óÀÌÁî ¶óÀ̺귯¸®
º¸Åë ÇÁ·ÎÁ§Æ®¸¦ ÇÑ´Ù°í ÇÏ¸é °³¹ß¿¡ ¾Õ¼ ÇÁ·¹ÀÓ¿öÅ©¸¦ ÁغñÇÏ°Ô µÈ´Ù. ȸ»ç¿¡¼ ÀÚüÀûÀ¸·Î ¸¸µé¾îµÐ Ç¥ÁØ ÇÁ·¹ÀÓ¿öÅ©°¡ ÀÖ´Ù¸é ±×°ÍÀ» »ç¿ëÇÒ °ÍÀÌ´Ù. ¸¸¾à, ÀÚü ÇÁ·¹ÀÓ¿öÅ©°¡ ¾ø´Ù¸é ÀÏ´Ü ÇÁ·¹ÀÓ¿öÅ©ºÎÅÍ ¸¸µé¾î¾ß ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ÇÁ·¹ÀÓ¿öÅ©¸¦ óÀ½ºÎÅÍ ¸¸µç´Ù´Â °ÍÀÌ ±×¸® ½¬¿î ÀÏÀÌ ¾Æ´Ï´Ù.
ÇÁ·¹ÀÓ¿öÅ©¸¦ ¸¸µå´Â °ÍÀº ¾ÆÁÖ ¸¹Àº ½Ã°£°ú ³ë·ÂÀ» ÇÊ¿ä·Î ÇÏ´Â ÀÛ¾÷ÀÌ´Ù. ¶§¹®¿¡ ´ëºÎºÐÀÇ °æ¿ì ÇÁ·¹ÀÓ¿öÅ©¸¦ óÀ½ºÎÅÍ ¸¸µå´Â ´ë½Å ´Ù¸¥ ÇÁ·¹ÀÓ¿öÅ©¸¦ °¡Á®´Ù°¡ ±× À§¿¡ ÀÚ»çÀÇ °íÀ¯ÇÑ Æ¯Â¡µéÀ» Ãß°¡ÇÏ¿© »ç¿ëÇÏ°Ô ¸¶·ÃÀÌ´Ù. ¶Ç, ´Ù¸¥ ¶óÀ̺귯¸®µéÀ» Á¶ÇÕÇØ¼ ÀÚ»çÀÇ ÇÁ·¹ÀÓ¿öÅ©·Î ¸¸µé¾î »ç¿ëÇϱ⵵ ÇÑ´Ù.
MS´Â ÀÌó·³ º¹ÀâÇÑ ÇÁ·¹ÀÓ ¿öÅ© °³¹ßÀ» µ½±â À§ÇØ ¿£ÅÍÇÁ¶óÀÌÁî ¶óÀ̺귯¸®(Enterprise Library)¶ó´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ ³»³õ¾Ò´Ù. ¿£ÅÍÇÁ¸®ÀÌÁî ¶óÀ̺귯¸®´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ À§ÇÑ Á¾ÇÕ ¼±¹° ¼¼Æ® °°Àº °ÍÀÌ´Ù(¿£ÅÍÇÁ¶óÀÌÁî ¶óÀ̺귯¸®´Â ÀÌ¹Ì º»Áö 2006.7~8¿ùÈ£¿¡ ¼Ò°³°¡ µÇ¾úÀ¸´Ï ÀÚ¼¼ÇÑ ³»¿ëÀº °ú¿ùÈ£¸¦ ÂüÁ¶ÇÏ±æ ¹Ù¶õ´Ù).
¿£ÅÍÇÁ¶óÀÌÁî ¶óÀ̺귯¸® 2.0Àº ´ÙÀ½°ú °°ÀÌ ¿©¼¸ °³ÀÇ ºí·ÏÀ¸·Î ±¸¼ºµÈ´Ù.
• ij½Ì ¾ÖÇø®ÄÉÀÌ¼Ç ºí·Ï(Caching Application Block) ·ÎÄà ij½Ã 󸮸¦ À§ÇÑ ºí·Ï
• ¾ÏÈ£ ¾ÖÇø®ÄÉÀÌ¼Ç ºí·Ï(Cryptography Application Block)ÇØ½Ã ÇÔ¼ö¿Í µ¿±â ¾Ïȣȸ¦ À§ÇÑ ºí·Ï
• µ¥ÀÌÅÍ ¾×¼¼½º ¾ÖÇø®ÄÉÀÌ¼Ç ºí·Ï(Data Access Application Block)Ç¥ÁØÈµÈ µ¥ÀÌÅͺ£À̽º ¾×¼¼½º ±â´ÉÀ» À§ÇÑ ºí·Ï
• ¿¹¿Ü ó¸® ¾ÖÇø®ÄÉÀÌ¼Ç ºí·Ï(Exception Handling Application Block)¾ÆÅ°ÅØÃ³ ·¹À̾î Àüü¸¦ Æ÷ÇÔÇÏ¿© ÀϰüµÈ ¿¹¿Ü ó¸® Á¤Ã¥ ¼ö¸³À» À§ÇÑ ºí·Ï
• ·Î±ë ¾ÖÇø®ÄÉÀÌ¼Ç ºí·Ï(Logging Application Block)·Î±ë Á¤º¸ 󸮸¦ À§ÇÑ ºí·Ï
• º¸¾È ¾ÖÇø®ÄÉÀÌ¼Ç ºí·Ï(Security Application Block)±ÇÇÑ °ËÁõ°ú º¸¾È ij½Ã 󸮸¦ À§ÇÑ ºí·Ï
¿£ÅÍÇÁ¶óÀÌÁî ¶óÀ̺귯¸®ÀÇ ºí·ÏÀº ¸¹ÀÌ »ç¿ëµÇ´Â ±â´ÉµéÀ» À¯Çüº°·Î ±¸ºÐÇØ ³õÀº °ÍÀ̶ó°í »ý°¢ÇÏ¸é ½±´Ù. ±×»Ó ¾Æ´Ï¶ó ¿£ÅÍÇÁ¶óÀÌÁî ¶óÀ̺귯¸®ÀÇ ¼Ò½º ÄÚµå±îÁö ´Ù Á¦°øµÇ´Â ´ö¿¡ °³¹ßÀÚµéÀÌ ÀÚ½ÅÀÇ ¾÷¹«³ª ÇöÀå¿¡ ¸Âµµ·Ï ºí·ÏÀ» À籸¼ºÇÏ¿© »õ·Î¿î ÇÁ·¹ÀÓ¿öÅ©·Î ¸¸µé ¼öµµ ÀÖ´Ù.
Áï, ÇÊ¿ä ¾ø´Â ±â´ÉÀº Á¦°ÅÇÏ°í ´õ ÇÊ¿äÇÑ ±â´ÉÀº Ãß°¡Çؼ ¸ÂÃãÇü ÇÁ·¹ÀÓ¿öÅ©¸¦ ¸¸µé ¼ö ÀÖµµ·Ï µµ¿ÍÁÖ´Â ¶óÀ̺귯¸®ÀÎ °ÍÀÌ´Ù.
¿£ÅÍÇÁ¶óÀÌÁî ¶óÀ̺귯¸®ÀÇ °¢ ºí·ÏµéÀº »ç½Ç Çϳª Çϳª°¡ ÇÁ·¹ÀÓ¿öÅ©¶ó°íµµ ÇÒ ¼ö ÀÖ´Ù. ·Î±ë ÇÁ·¹ÀÓ¿öÅ©, º¸¾È ÇÁ·¹ÀÓ¿öÅ©·Î ºÒ¸± ¼öµµ ÀÖ´Ù. ¿Ö³ÄÇϸé ÀÌµé ºí·ÏÀº °¢°¢, Àç»ç¿ë¼ºÀ» °¡Áö°í ÀÖ°í, ·Î±ë ¹× º¸¾È°ú °°Àº ÇØ´ç ¾÷¹«¸¦ ÃѰýÇÏ´Â ±â´ÉÀ» ¸ðµÎ °¡Áö°í ÀÖ´Â ±î´ßÀÌ´Ù.
µû¶ó¼ À̵éÀ» ÇÁ·¹ÀÓ¿öÅ© ºÐ·ù»óÀ¸·Î ±â´É ÇÁ·¹ÀÓ¿öÅ©(Fuctional Framework)¶ó°íµµ ºÎ¸¥´Ù. ´ÜÀ§ Å×½ºÆ® µµ±¸ÀÎ JUNITÀÇ ´å³Ý ¹öÀüÀÎ NUNIT ¶ÇÇÑ ´ÜÀ§ Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ©¶ó°íµµ ºÎ¸¦ ¼ö ÀÖ´Ù.
ÇÏÁö¸¸ MS¿¡¼´Â ÇÁ·¹ÀÓ¿öÅ©¶ó´Â ¿ë¾î ´ë½Å Á¼Àº ¹üÀ§·Î ¹¾î¼ ¶óÀ̺귯¸®¶ó´Â ¿ë¾î¸¦ äÅÃÇÏ¿´´Ù. ±× Àǵµ¸¦ ¾Ë ¼ö´Â ¾øÀ¸³ª, ÇâÈÄ ÀÌ·¯ÇÑ ¶óÀ̺귯¸®¸¦ ¹¾î¼ ¾î¶² »óÀ§ °³³äÀÇ ÇÁ·¹ÀÓ¿öÅ©ÀÇ µîÀåÀ» ¿°µÎ¿¡ µÎ°í ÇÑ °ÍÀÌ ¾Æ´Ñ°¡¶ó°í °³ÀÎÀûÀ¸·Î ÃßÃøÀ» ÇØ º¸¾Ò´Ù.
¿£ÅÍÇÁ¶óÀÌÁî ¶óÀ̺귯¸®ÀÇ °¡Àå Å« Ư¡Àº ¼³Á¤ ºÎºÐÀ» º°µµÀÇ ¿ÜºÎ ÆÄÀÏ·Î ³ëÃâÇÏ¿´´Ù´Â Á¡ÀÌ´Ù. ±× ´ö¿¡ ȯ°æÀÌ ¹Ù²î´õ¶óµµ ´Ù½Ã ÄÄÆÄÀÏ ÇÒ ÇÊ¿ä ¾øÀÌ È¯°æ ¼³Á¤ ÆÄÀϸ¸ º¯°æÇØ ÁÖ¸é µÈ´Ù.
¿¹¸¦ µé¾î DB·Î SQL Server¸¦ »ç¿ëÇÏ´Ù°¡ Oracle·Î ¹Ù²Ù¾ú´ÙµçÁö, ¾ÏÈ£È ¹æ½ÄÀ» AES¹æ½Ä¿¡¼ DES¹æ½ÄÀ¸·Î º¯°æÇØ¾ß ÇÑ´Ù¸é, ¼Ò½º Äڵ带 ¼öÁ¤ÇÏÁö ¾Ê°í ȯ°æ ÆÄÀÏÀÇ ³»¿ë¸¸ º¯°æÇÏ¸é µÈ´Ù. ¶Ç ´Ù¸¥ Ư¡À¸·Î´Â ¼º´É Ä«¿îÅÍ ÃøÁ¤À» À§ÇÑ µµ±¸¸¦ Á¦°øÇÑ´Ù´Â °ÍÀÌ´Ù.
¿¹¸¦ µé¾î ÇØ´ç ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¹ÝÀÀ ¼Óµµ°¡ ³Ê¹« ´À·ÁÁ³´Âµ¥, ¾îµð¿¡¼ ¿øÀÎÀÌ ÀÖ´ÂÁö ã¾Æº¸·Á°í ÇÒ ¶§, ¼º´É Ä«¿îÅ͸¦ µ¹·Á¼ ¾î´À ºÎºÐ¿¡¼ ºÎÇϰ¡ ÀÖ´ÂÁö ¾Ë¾Æ º¼ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ÀÌó·³ ´Ù¾çÇÑ ±â´ÉÀ» °¡Áø ¶óÀ̺귯¸®¸¦ Á¦°øÇϹǷΠÀ̸¦ ÀûÀýÈ÷ Á¶ÇÕÇØ¼ ÇØ´ç ºÐ¾ß¿¡ ¸Â´Â ÇÁ·¹ÀÓ¿öÅ©¸¦ ¸¸µé ¼ö ÀÖ´Ù.
MS ÄÚ¸®¾ÆÀÇ ÀÚü ÇÁ·¹ÀÓ¿öÅ© Microsoft.Framework
Áö³ 12¿ù MS ÄÚ¸®¾Æ¿¡¼´Â ´å³Ý ¿¢½ºÆÛÆ®¶ó´Â ȸ»ç¿¡¼ °³¹ßÇÏ¿© »ç¿ëÇØ ¿À´ø ´å³Ý ±â¹ÝÀÇ °³¹ß ÇÁ·¹ÀÓ¿öÅ©ÀÎ DxFrameworkÀ» ÀμöÇß´Ù. ÀÌ ÇÁ·¹ÀÓ¿öÅ©¸¦ °ø°³¿ë ¹öÀüÀ¸·Î ¸¸µé¾î¼ Microsoft.Framework¶ó À̸§À» ºÙÀ̰í MS °³¹ßÀÚ »çÀÌÆ®ÀÎ MSDN¿¡¼ ¹«·á·Î ¹èÆ÷Çϰí ÀÖ´Ù.
(
http://www.microsoft.com/Korea/MSDN/netframework/technologyinfo/overview/ netdevelopmentguid.aspx)DxFrameworkÀº óÀ½¿¡ ¹Ýº¹µÇ´Â µ¥ÀÌÅÍ ¾×¼¼½º ÄÚµå ºÎºÐÀ» °£¼ÒÈÇϱâ À§ÇØ ¶óÀ̺귯¸®·Î ¹Àº °ÍÀ̾úÀ¸³ª Á¡Á¡ ´Ù¸¥ ±â´ÉµéÀ» Ãß°¡ ÇÏ¸é¼ ÇÁ·¹ÀÓ¿öÅ© ÇüÅ·Π¹ßÀüÇÑ °ÍÀÌ´Ù. À§ »çÀÌÆ®¿¡´Â ÀÌ °³¹ß ÇÁ·¹ÀÓ¿öÅ© ¿Ü¿¡µµ ´å³Ý ±â¹ÝÀÇ °³¹ß ¹æ¹ý·Ð±îÁö °ø°³Çϰí ÀÖÀ¸¹Ç·Î °ü½É ÀÖ´Â µ¶ÀÚ´Â Çѹø ´Ù¿î·Îµå ¹Þ¾Æ¼ º¸±æ ¹Ù¶õ´Ù.
 | Microsoft.Framework ÀÇ È°¿ë
|  |
°ø°³µÈ Microsoft.Framework´Â ´å³Ý 1.1 ¹öÀüÀÇ ÇÁ·¹ÀÓ¿öÅ©ÀÌ´Ù. ¿©±â¼ ¼Ò°³µÈ Microsoft.Framework´Â ´å³Ý ÀͽºÆÛÆ®¶ó´Â ȸ»ç¿¡¼ ¸¸µç DxFrameworkÀÇ Lite ¹öÀüÀÌ´Ù. ÇÏÁö¸¸ ÇöÀç ´å³Ý ÀͽºÆÛÆ®¿¡¼ »ó¿ëÀ¸·Î ÆÇ¸ÅÇϰí ÀÖ´Â DxFramework¿Í´Â ÀüÇô ´Ù¸¥ ÇÁ·¹ÀÓ¿öÅ©ÀÓÀ» ¾Ë¾ÆµÎÀÚ. ´Ù¿î·Îµå´Â ¾Õ¿¡¼ ¾ð±ÞÇÑ URL¿¡¼ ÇÁ·¹ÀÓ¿öÅ© ¼³Ä¡ÆÄÀÏÀ» ´Ù¿î¹ÞÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¸ðµÎ ÇÑ±Û ±â¹ÝÀ¸·Î ÀÛ¼ºµÈ ÇÁ·¹ÀÓ¿öÅ©ÀÎ ´ö¿¡ ´©±¸³ª ½±°Ô ¼³Ä¡ÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Ù.
Microsoft.Framework ¼³Ä¡
¼³Ä¡ ÇÁ·Î±×·¥À» ´Ù¿î·Îµå ¹ÞÀº µÚ¿¡ ¡®Microsoft.FrameworkSetup.msi¡¯¶ó´Â ÆÄÀÏÀ» ½ÇÇàÇϸé ÀÚ½ÅÀÌ ¿øÇÏ´Â Æú´õ¿¡ ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù.
 |
| <ȸé 1> Microsoft.FrameworkÀÇ ¼³Ä¡È¸é |
¼³Ä¡¸¦ ÇÏ°Ô µÇ¸é ÇØ´ç Æú´õ¿¡ Bin°ú Source¶ó´Â Æú´õ°¡ ¸¸µé¾î Áø´Ù. Bin Æú´õ¿¡´Â ÄÄÆÄÀÏ µÈ ÇÁ·¹ÀÓ¿öÅ© dll ÆÄÀÏÀÌ »ý¼ºµÇ°í, Source Æú´õ¿¡´Â Microsoft.Framework¸¦ ±¸¼ºÇϰí ÀÖ´Â ¼Ò½º¿Í ¼Ö·ç¼Ç ÆÄÀϵéÀÌ ¸¸µé¾îÁö°Ô µÈ´Ù.
 |
| <ȸé 2> Microsoft.FrameworkÀÇ ¼Ò½ºÆÄÀÏ |
<±×¸² 2>´Â Microsoft.FrameworkÀÇ ±¸Á¶¿Í ÁÖ¿äÇÑ ³×ÀÓ ½ºÆäÀ̽ºÀÇ ±â´ÉÀ» Á¤¸®ÇÑ °ÍÀÌ´Ù. Microsoft.Framework´Â Å©°Ô ³× °¡Áö ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. ù ¹øÂ° ±â´ÉÀÎ Microsoft.Framework.ConfigurationÀº xml ÇüŸ¦ °¡Áø °èÃþÀû ±¸Á¶¸¦ °¡Áø config ÆÄÀÏ ³»¿ëÀ» ÀÐ¾î ¿À±â À§ÇØ »ç¿ëµÈ´Ù. Microsoft.Framework.Data´Â SQL µ¥ÀÌÅͺ£À̽º¸¦ ¿¬°áÀ» À§ÇÑ Microsoft.FrameworkÀÇ ÇÙ½É ±â´ÉÀÌ´Ù.
Microsoft.Framework.Diagnostics´Â ¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇà Áß ¹ß»ýÇÏ´Â ¿¡·¯¸¦ ±â·ÏÇÒ ¶§¿Í ÄÄÆ÷³ÍÆ®ÀÇ ½ÇÇà½Ã°£À» üũÇϱâ À§Çؼ COM+ÀÇ JITA ¼Ó¼º°ú °áÇÕÇØ¼ »ç¿ëµÇ´Â ±â´ÉÀÌ´Ù. ¸¶Áö¸· ±â´ÉÀÎ Microsoft.Framework.Utility´Â ½ºÆ®¸µÀ̳ª ÆÄÀÏÀÇ Á¶ÀÛÀ» º¸´Ù ½±°í ÆíÇÏ°Ô Çϵµ·Ï Áö¿øµÈ´Ù.
 |
| <±×¸² 2> Microsoft.FrameworkÀÇ ±¸Á¶ |
»ùÇà ÇÁ·ÎÁ§Æ® ¼³Ä¡
Microsoft.Framework´Â »ùÇà ÇÁ·ÎÁ§Æ®¸¦ Á¦°øÇϰí ÀÖ´Ù. ÀÌ ÇÁ·ÎÁ§Æ®¸¦ ¼³Ä¡Çϸé 3Tier ±â¹ÝÀÇ »çÀÌÆ®¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¶ÇÇÑ °¡Àå Áß¿äÇÑ ÇÁ·¹ÀÓ¿öÅ© ¸Å´º¾óµµ º¼ ¼ö Àֱ⠶§¹®¿¡ ÀÌ »ùÇà ÇÁ·ÎÁ§Æ®´Â ¹Ýµå½Ã ¼³Ä¡ÇÏ¿© È®ÀÎÇØ º¸¾Æ¾ß ÇÑ´Ù. Microsoft.Framework´Â ´ÙÀ½°ú °°Àº µðÀÚÀÎ ¸ñÇ¥¸¦ °¡Áö°í ÀÖ´Ù.
• °¡±ÞÀûÀ̸é ÄÄÆ÷³ÍÆ®³ª ÄÁÆ®·Ñ Çü½ÄÀ¸·Î ÀÛ¼ºÇÏ¿© µðÀÚÀΠŸÀÓ Áö¿ø ±â´ÉÀ» °¡Áöµµ·Ï ÇÑ´Ù.
• ·±Å¸ÀÓ ½Ã¿¡ ÇÊ¿äÇÑ Á¤º¸´Â ¼Ó¼ºÀ̳ª ¸Þ¼ÒµåÀÇ ¸Å°³ º¯¼ö·Î Àü´Þ¹Þ±â º¸´Ù´Â ±¸¼º ÆÄÀÏÀ̳ª ½ºÅà Á¤º¸¿¡¼ Àоµµ·Ï ÇÏ¿© »ç¿ëÀ» °£ÆíÇÏ°Ô ÇÑ´Ù.
• ÃʱâÈ ¹× Á¤¸® ÀÛ¾÷ÀÌ Áö´ÉÀûÀ¸·Î ÀÌ·ç¾îÁöµµ·Ï ÇÏ¿© µÇµµ·ÏÀ̸é ÀÛ¼ºÇØ¾ß ÇÏ´Â ÄÚµå ·®À» ÁÙÀÏ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
• ±¸¼º ÆÄÀÏ¿¡¼ ´Ù¾çÇÑ µ¿ÀÛ Æ¯¼ºÀ» ÁöÁ¤ÇÒ ¼ö ÀÖµµ·Ï ÇÏ¿© º°µµÀÇ Ä¿½ºÅ͸¶ÀÌ¡ ÀÛ¾÷ÀÌ ÇÊ¿äÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.
• ´å³Ý ÇÁ·¹ÀÓ¿öÅ©¿Í Èí»çÇÑ ³×ÀÓ½ºÆäÀ̽º ±¸Á¶¸¦ °¡Áöµµ·Ï ÇÏ¿© Á÷°üÀûÀ¸·Î ÇØ´ç Ŭ·¡½º°¡ ¾î¶°ÇÑ ¿ªÇÒÀ» ÇÏ´ÂÁö ¾Ë ¼ö ÀÖµµ·Ï ÇÑ´Ù.
Microsoft.Framework »ùÇà ¼Ò½ºÀÇ ¹öÀüÀº ´å³Ý 1.1 ¹öÀüÀÌ´Ù. ÀÌ Äڵ带 VS.NET 2005 ȯ°æ¿¡¼ ½ÇÇàÇÏ°í ½Í´Ù¸é Visual Studio º¯È¯ ¸¶¹ý»ç¸¦ ÅëÇØ ½±°Ô ÄÁ¹öÆÃ ÇÒ ¼ö ÀÖ´Ù.
 |
| <ȸé 3> Viusal Studio º¯È¯ ¸¶¹ý»ç |
ÀÌ »ùÇÃÀº DB´Â SQL2000¿¡ ±âº»À¸·Î µé¾î ÀÖ´Â Northwind DB ½ºÅ°¸¶¸¦ »ç¿ëÇÏ¸ç ³»¿ëÀ» ÇѱÛÈ ÇÑ °ÍÀÌ´Ù. ÀÌ´Â MS ÇÑ±Û ¿ÀÇǽº ÇÁ·Î±×·¥ÀÌ ¾×¼¼½º »ùÇ÷ΠÁ¦°øÇϰí Àֱ⵵ ÇÏ´Ù. »ùÇÿ¡¼ Á¦°øÇϰí ÀÖ´Â µ¥ÀÌÅͺ£À̽ºÀÇ ½ºÅ°¸¶´Â <ȸé 4>¿Í °°´Ù.
 |
| <ȸé 4> Northwind DB ½ºÅ°¸¶ |
ÀÌ »ùÇÃÀÇ Æ¯Â¡ Áß Çϳª´Â ¸ðµç À¥ ÆäÀÌÁö´Â BaseClass/PageBase¸¦ »ó¼Ó ¹Þ°í ÀÖ´Ù´Â °ÍÀÌ´Ù. PageBase´Â OnInit ¿À¹ö¶óÀ̵ù ¸Þ¼Òµå¿¡¼ ÀÚ½ÅÀÇ Content¸¦ ȸ鿡 ³ªÅ¸³»±â Àü¿¡ Table°ú ÇÔ²² Top ControlÀ» ¸ÕÀú Ãâ·Â½ÃŲ´Ù. ³ªÁß¿¡ ÀÚ½ÅÀÇ Content¸¦ ÁöÁ¤µÈ TD ¾È¿¡ Ãâ·Â½ÃŲ´Ù. <¸®½ºÆ® 1>Àº ÀÌ¿Í °ü·ÃµÈ ¿¹Á¦ ÄÚµåÀÌ´Ù.
| <¸®½ºÆ® 1> BaseClass/PageBase »ó¼Ó ¿¹Á¦ | | | |
override protected void OnInit(EventArgs e)
{
base.OnInit(e);
if ( HttpContext.Current == null )
{
return
}
foreach ( Control ctl in Controls )
{
if ( ctl is System.Web.UI.HtmlControls.HtmlForm)
{
_form = ctl as System.Web.UI.HtmlControls.HtmlForm;
}
}
_topMenu = (TopMenu)LoadControl("~/Common/Menu/TopMenu.ascx");
_form.Controls.AddAt(0,_topMenu);
}
| |
 |
Microsoft.Framework.Configuration
¾Õ¿¡¼µµ Àá±ñ ¾Ë¾Æº» °Íó·³ Microsoft.Framework.ConfigurationÀº XML ÇüÅÂÀÇ °èÃþÀû ±¸Á¶¸¦ °¡Áø Config ³»¿ëÀ» ÀÐ¾î ¿À±â À§ÇÑ ±â´ÉÀÇ ³×ÀÓ½ºÆäÀ̽ºÀÌ´Ù. ±× ±â´ÉÀ» ´ã´çÇϴ Ŭ·¡½º´Â AppSettingsReaderÀÌ´Ù. ¸¸¾à ¾î¶² ƯÁ¤ÇÑ °¡º¯ÀûÀÎ Á¤º¸¸¦ ¼³Á¤Çϰųª ÇÒ ¶§ Config ÆÄÀÏÀ» Ȱ¿ëÇØ¼ ¼³Á¤ÇÏ¸é µÉ °ÍÀÌ´Ù.
¹°·Ð Web.Config³ª App.Config¸¦ ÀÌ¿ëÇØ¼ ƯÁ¤ Á¤º¸¸¦ °ü¸® ÇÒ ¼öµµ ÀÖ´Ù. ±×·¸´Ù¸é ¿©±â¼ Á¦°øÇϰí ConfigurationÀÇ Æ¯Â¡Àº ¹«¾ùÀΰ¡? ´ÙÀ½Àº ±âº» Configuration°ú Â÷º°µÈ Ư¡À» º¸¿©ÁÖ°í ÀÖ´Ù.
• ±âº» ±¸¼º ÆÄÀÏÀÌ ¾Æ´Ñ »ç¿ëÀÚ ÁöÁ¤ ±¸¼º ÆÄÀÏÀ» »ç¿ë ÇÒ ¼ö ÀÖ´Ù.
• ´Ù¸¥ AppDomainÀÇ ±¸¼º Á¤º¸ ÆÄÀÏÀ» ±âº»À¸·Î »ç¿ëÇϵµ·Ï ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ ±â´ÉÀº ¼¹ö Ȱ¼ºÈ¸¦ »ç¿ëÇÏ´Â COM+ Ŭ·¡½º¿¡¼ Æí¸®ÇÏ°Ô ±¸¼º Á¤º¸¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
• °èÃþÀûÀ¸·Î ±¸¼ºµÈ ±¸¼º Á¤º¸¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
• ÁöÁ¤µÈ Ű °ª¿¡ ÇØ´çÇÏ´Â Á¤º¸°¡ ¾øÀ» °æ¿ì µðÆúÆ®°ªÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
• µðÆúÆ®°ªÀÇ Å¸ÀÔ¿¡ ¸ÂÃç ¸®ÅÏ °ªÀÇ Å¸ÀÔÀÌ Á¤ÇØÁö¹Ç·Î º°µµÀÇ Ä³½ºÆÃÀÌ ÇÊ¿ä ¾ø´Ù.
• ±¸¼º Á¤º¸¸¦ Àд ±âº» ¸Þ¼µå(GetValue())¿Ü¿¡ À妽º¸¦ Á¦°øÇÔÀ¸·Î½á È£Ãⱸ¹®ÀÌ °£´ÜÇØÁø´Ù.
| <¸®½ºÆ® 2> AppSettingsReaderÀÇ ±¸¼ºÆÄÀÏ ¼³Á¤ ¿¹ | | | |
<configuration>
<Microsoft.Framework>
<AppSettingsReader>
<add key="RaiseException" value="true" />
</AppSettingsReader>
| |
 |
<¸®½ºÆ® 3>Àº ±¸¼º ÆÄÀÏÀ» ÃʱâÈÇØ¼ ±¸¼º ¿ä¼Ò¸¦ ºÒ·¯¿À´Â °£´ÜÇÑ ¿¹Á¦ÀÌ´Ù.
| <¸®½ºÆ® 3> AppSessingsReader »ç¿ë ¿¹ | | | |
AppSettingsReader reader = null
reader = newAppSettingsReader("Microsoft.SampleFramework/ExeTimeLog");
lblExeLogName.Text = reader["LogFileName"];
lblExeTimeEnable.Text = reader["Enable"];
| |
 |
Microsoft.Framework.Data
ÀÌ ³×ÀÓ½ºÆäÀ̽º´Â SQL µ¥ÀÌÅͺ£À̽º¸¦ ¿¬°áÀ» À§ÇÑ Microsoft.FrameworkÀÇ ÇÙ½É ±â´ÉÀ» ´ã´çÇϰí ÀÖ´Ù. ±× ¾ÈÀÇ Å¬·¡½ºµé Áß¿¡¼µµ SqlDbAgent¶ó´Â Ŭ·¡½º°¡ °¡Àå ´ëÇ¥ÀûÀÎ ±â´ÉÀ» Çϰí ÀÖ´Ù. ÀÌ SqlDbAgentÀÇ ¸Þ¼Òµå¿Í »ç¿ë ¿¹Á¦¸¦ ´Ù·ç¾î º¸µµ·Ï ÇϰڴÙ.
<¸®½ºÆ® 4>´Â °¡Àå ¸¹ÀÌ »ç¿ëÇÏ°Ô µÉ Fill ¸Þ¼Òµå¿¡ ´ëÇÑ »ç¿ë ¿¹ÀÌ´Ù. µ¥ÀÌÅ͸¦ ¹Þ¾Æ¿Í¼ µ¥ÀÌÅͼ¿¡ ä¿ì±â À§Çؼ´Â ¸¹Àº ¾çÀÇ Äڵ尡 ÇÊ¿äÇÏÁö¸¸ Fill ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¸é °£´ÜÇÏ°Ô ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
| <¸®½ºÆ® 4> Fill ¸Þ¼Òµå ¿¹Á¦ | | | |
string query = "GetMessage";
SqlParameter[] paramArray
= {
new SqlParameter("@boardNo", boardNo),
new SqlParameter("@messageNo", messageNo),
new SqlParameter("@step", step)
}
DslBoard ds = new DslBoard();
_agent.Fill(
query,
"Message",
ds,
paramArray,
CommandType.StoredProcedure);
return ds;
| |
 |
SqlDbAgent Ŭ·¡½ºÀÇ Æ¯Â¡Àº ´ÙÀ½°ú °°ÀÌ ¿ä¾àÇÒ ¼ö ÀÖ´Ù.
• DataAdapr, Command Ŭ·¡½ºÀÇ ÀÚÁÖ »ç¿ëµÇ´Â ´ëºÎºÐÀÇ ¸Þ¼Òµå Áö¿ø
• ±¸¼º ÆÄÀÏÀ» ÅëÇÑ µ¥ÀÌÅͺ£À̽º ¿¬°á¹®ÀÚ¿ Áö¿ø
• ´ÙÁß µ¥ÀÌÅͺ£À̽º ¿¬°á¹®ÀÚ¿ Áö¿ø
• µ¥ÀÌÅͺ£À̽º ¿¬°á ÀÚ¿ø °ü¸®
• µ¥ÀÌÅͺ£À̽º °ü·Ã ¿¡·¯ ·Î±ë
• ¼º´ÉÄ«¿îÅÍ °´Ã¼ Á¦°ø
• COM+ ºÐ»ê Æ®·£Àè¼Ç ¹× ÀÚµ¿ Æ®·£Àè¼Ç Áö¿ø
SqlDbAgent ¶ó´Â Ŭ·¡½º ¸»°íµµ Äõ¸®¸¦ ½±°Ô ÀÛ¼ºÇϱâ À§ÇÑ QueryBuilder³ªSqlParameter¸¦ º¸´Ù ½±°Ô Á¶ÀÛÇϱâ À§ÇÑ DbParamHelper¶ó´Â Ŭ·¡½º°¡ Á¦°øµÇ°í ÀÖ´Ù. <¸®½ºÆ® 5>´Â DbParamHelper¿Í QueryBuilderÀÇ ¿¹¸¦ º¸¿©ÁÖ°í ÀÖ´Ù.
| <¸®½ºÆ® 5> DbParamHelper¿Í QueryBuilder ¿¹Á¦ | | | |
SqlParameter[] paramArray = dataPack.ToSqlParameters();
SqlParamHelper.Add(ref paramArray, "@retVal", SqlDbType.Int);[DbParamHelperÀÇ »ç¿ë ¿¹]
//DataPack »ý¼º
DataPack dataPack = new DataPack();
dataPack.AddProperty("NavCmd", typeof(int));
dataPack["NavCmd"] = 4;
string name = (string)dataPack["Name"]
//Insert Äõ¸® ÀÚµ¿»ý¼º
QueryBuilder.BuildInsertQuery(dataPack, "Å×À̺íÀ̸§")[QueryBuilderÀÇ »ç¿ë ¿¹]
| |
 |
Microsoft.Framework.Diagnostics
¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇà Áß¿¡ ¹ß»ýÇÏ´Â ¿¡·¯¸¦ ±â·ÏÇÒ ¶§¿Í ÄÄÆ÷³ÍÆ®ÀÇ ½ÇÇà ½Ã Ã¼Å©Çϱâ À§Çؼ COM+ÀÇ JITA ¼Ó¼º°ú °áÇÕÇØ¼ »ç¿ëµÇ´Â ±â´ÉÀÌ´Ù. ¿¡·¯¸¦ ±â·ÏÇϱâ À§ÇÑ Å¬·¡½º·Î´Â ErrorLog Ŭ·¡½º°¡ ±¸ÇöµÇ¾î ÀÖÀ¸¸ç, ÄÄÆ÷³ÍÆ®ÀÇ ½ÇÇà ½Ã°£À» ±â·ÏÇϱâ À§ÇÑ Å¬·¡½º·Î´Â ExecutionTimeLog°¡ ±¸ÇöµÇ¾î ÀÖ´Ù.
ExecutionTimeLog Ŭ·¡½º´Â ¸Þ¼Òµå¸¦ ½ÇÇàÇϱâ Àü¿¡ Prepare ¸Þ¼Òµå¸¦ ½ÇÇàÇØ¼ ½ÇÇà ½Ã°£À» ±â¾ïÇØ µÎ¾ú´Ù°¡ ƯÁ¤ 󸮰¡ ³¡³ µÚ¿¡ MeasureAndWriteLog ¸Þ¼Òµå¸¦ È£ÃâÇØ¼ ½Ã°£À» ±â·ÏÇÏ°Ô µÈ´Ù. <¸®½ºÆ® 6>Àº ExecutionTimeLogÀÇ ±¸¼º ¼³Á¤ÀÇ ¿¹¸¦ º¸¿©ÁÖ°í ÀÖ´Ù.
| <¸®½ºÆ® 6> ExecutionTimeLogÀÇ ±¸¼º ¼³Á¤ | | | |
<configuration>
<configSections>
< Microsoft.Framework>
< ExecutionTimeLog >
<add key="Enable" value="true" />
<add key="LogFileName" value="C:\ ExecutionTimeLog .txt" />
</ ExecutionTimeLog >
</ Microsoft.Framework>
</configSections>
<configuration>
| |
 |
ErrorLog Ŭ·¡½º´Â WriteLogMessage ¸Þ¼Òµå¸¦ ÀÌ¿ëÇØ¼ °¢°¢ÀÇ ¿¡·¯·Î±×¸¦ ±â·ÏÇÒ ¼ö ÀÖ´Ù. ¿¡·¯¸¦ ±â·ÏÇϱâ À§ÇÑ º¸ÆíÀûÀÎ ¸ðµ¨Àº °¢°¢ÀÇ °èÃþ¿¡¼ °¡Àå »óÀ§ÀÇ °èÃþÀ¸·Î ThrowÇØ¼ Application Error À̺¥Æ®¸¦ ÅëÇØ¼ ¿¡·¯·Î±×¸¦ ±â·ÏÇÏ´Â °ÍÀÌ´Ù. <¸®½ºÆ® 7>Àº ¿¡·¯¸¦ ó¸®ÇÏ´Â ¿¹¸¦ º¸¿©ÁÖ°í ÀÖ´Ù.
| |
try
{
~~~
}
catch(Exception ex)
{
WriteExceptionLog(ex)
}
| |
 |
Microsoft.Framework.Utility
Utility ³×ÀÓ½ºÆäÀ̽º ¹®ÀÚ¿°ú ÆÄÀÏÀÇ Á¶ÀÛÀ» º¸´Ù ½±°í ÆíÇÏ°Ô ÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇϱâ À§Çؼ ±¸ÇöÇÑ ³×ÀÓ½ºÆäÀ̽ºÀÌ´Ù. ÇÏÁö¸¸ Microsoft.Framework¿¡¼ÀÇ ÇÙ½ÉÀº µ¥ÀÌÅ͸¦ ¿¢¼¼½ºÇÏ´Â ºÎºÐÀÌ¶ó¼ ±×·±Áö ÀÌ ºÎºÐÀÇ ±¸ÇöÀº Á¶±Ý ¹ÌÈíÇÏ´Ù´Â »ý°¢À» °¡Áö°Ô µÉ °ÍÀÌ´Ù.
FileHandler Ŭ·¡½º¿¡¼´Â ¹ÙÀ̳ʸ®¿Í ÅØ½ºÆ®¸¦ ºÒ·¯¿Â´Ù°Å³ª ÀúÀåÇÏ´Â ¸Þ¼Òµå¸¦ Á¦°øÇϰí ÀÖ´Ù. ±×¸®°í StringEx Ŭ·¡½º¿¡¼´Â ¿øº» ¹®ÀÚ¿ Áß¿¡¼ ã´Â ¹®ÀÚ¿ÀÇ À§Ä¡¸¦ ¾ò¾î³»´Â ¸Þ¼Òµå¸¦ Á¦°øÇϰí ÀÖ´Ù. <¸®½ºÆ® 8>Àº FileHadler¸¦ Ȱ¿ëÇÑ ¿¹¸¦ º¸¿©ÁÖ°í ÀÖ´Ù.
| <¸®½ºÆ® 8> FileHadlerÀÇ È°¿ë ¿¹ | | | |
//Binary ÆÄÀÏ ºÒ·¯¿À±â
byte[] btData =FileHadler.LoadBinFile("C:\HOONS.JPG")
//Text ÆÄÀÏ ºÒ·¯¿À±â
byte[] btData =FileHadler.LoadTextFile ("C:\HOONS.TXT")
//Text ÆÄÀÏ ÀúÀåÇϱâ
FileHadler.WriteTextFile("C:\HOONS.TXT", "YEAH~Let¡¯s Go")
//Binary ÆÄÀÏ ÀúÀåÇϱâ
FileHadler.WriteBinFile("C:\HOONS.JPG",BinaryData)
| |
 |
 | ÇÁ·¹ÀÓ¿öÅ©ÀÇ È°¿ë
|  |
ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÒ ¶§ °³¹ß Ç¥ÁØ ÇÁ·¹ÀÓ¿öÅ©´Â ÇʼöÀûÀÌ´Ù. ÇÁ·¹ÀÓ¿öÅ©´Â °³¹ß ȯ°æÀ̳ª ÇØ´ç ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¾÷¹« ȯ°æ¿¡ ¸Âµµ·Ï º¸Åë ¸ÂÃã Á¦ÀÛÀ» ÇÏ°Ô µÈ´Ù. ¾Õ¿¡¼µµ À̾߱â ÇÑ °Íó·³ º¸Åë ÀÌ °úÁ¤¿¡¼´Â ±âº» ÇÁ·¹ÀÓ¿öÅ©¿¡ ¸ÂÃã ÇÁ·¹ÀÓ¿öÅ©¸¦ ¿Ã¸®´Â ÀÛ¾÷À» ÇÏ°Ô µÈ´Ù.
À̶§ Áß¿äÇÑ °ÍÀº ¹Ù·Î È®À强ÀÌ´Ù. ÇØ´ç ȯ°æÀ̳ª ¾÷¹«°¡ º¯ÈÇÔ¿¡ µû¶ó ÇÁ·¹ÀÓ¿öÅ©µµ ±×¿¡ ¸ÂÃç ½±°Ô º¯°æµÇ°Å³ª È®ÀåµÉ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ±×·¡¾ß¸¸ »ì¾ÆÀÖ´Â ÇÁ·¹ÀÓ¿öÅ©°¡ µÈ´Ù.
º¸ÅëÀº °øÅë Ç¥ÁØÈÆÀ¿¡¼ ÀÌ·¯ÇÑ °³¹ß ÇÁ·¹ÀÓ¿öÅ©¸¦ Àü´ãÇÏ°Ô µÇ¸ç, ÀÌ ÆÀ¿¡¼ °³¹ß ÇÁ·¹ÀÓ¿öÅ©¸¦ ±âÃÊ ¼³°è ȯ°æ¿¡ ¸Âµµ·Ï ¸¸µç´Ù. ÇÏÁö¸¸ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇà ÇÏ´Ùº¸¸é óÀ½¿¡ ¿¹»óÇÏÁö ¸øÇß´ø °øÅëÀûÀÎ ±â´ÉÀ» Ãß°¡Çϰųª »õ·Î¿î ȯ°æÀÌ Ãß°¡µÇ´Â °æ¿ì°¡ ¸¹ÀÌ ¹ß»ýÇÑ´Ù.
À̶§ ÀÌ·¯ÇÑ ±â´ÉÀ» Áï°¢ÀûÀ¸·Î °³¹ß ÇÁ·¹ÀÓ¿öÅ©¿¡ Ãß°¡ÇÏ¿© °³¹ßÀڵ鿡°Ô Àç¹èÆ÷¸¦ ÇÏ¿©¾ß¸¸ ÇÑ´Ù. ±×·¸Áö ¾Ê´Ù¸é °³¹ßÀÚµéÀº °¢°¢ ÀڽŸ¸ÀÇ Å¬·¡½º¸¦ ¸¸µé¾î¼ »ç¿ëÇÏ°Ô µÉ °ÍÀ̰í, ÀÌ·¯ÇÑ ÀÏÀÌ °è¼ÓµÇ¸é Á¡Á¡ ÇÁ·¹ÀÓ¿öÅ©¿¡¼ ¸Ö¾îÁ®°¡°Ô µÉ °ÍÀÌ´Ù.
Áï, óÀ½¿¡´Â ¸ðµç ±â´ÉÀ» ÇÁ·¹ÀÓ¿öÅ©¿¡¼ ã¾Æ¼ ½èÁö¸¸ ³ªÁß¿¡´Â Á¡Á¡ ÀڽŸ¸ÀÇ ¶óÀ̺귯¸®¸¦ Ãß°¡Çؼ »ç¿ëÇÏ°Ô µÇ¸é °á±¹ ÇÁ·¹ÀÓ¿öÅ©¿¡ ´ëÇÑ ÀÇÁ¸µµ°¡ ¶³¾îÁ®¼ ÇÁ·¹ÀÓ¿öÅ©¸¦ ÅëÇÑ »ý»ê¼º Çâ»óÀ̳ª ÄÚµå Ç¥ÁØÈ´Â ÀÌ·ç¾îÁöÁö ¸øÇÑ´Ù.
°¡²û °øÅë Ç¥ÁØÈÆÀÀÇ ÆÄ¿ö°¡ °Çؼ ÀÏ¹Ý ºñÁî´Ï½º °³¹ßÀÚÀÇ ÀÌ·¯ÇÑ ¿ä±¸ »çÇ×À» ¹«½ÃÇÏ´Â °æ¿ì°¡ ÀÖÀ» ¼ö Àִµ¥, ÀÌ·± »çÅ´ ¸·¾Æ¾ß¸¸ ÇÑ´Ù.
°³¹ß ÇÁ·¹ÀÓ¿öÅ©´Â ÇØ´ç ¾÷¹« ºñÁî´Ï½º °³¹ßÀڷκÎÅÍ ²÷ÀÓ¾ø´Â Çǵå¹éÀ» ¹Þ¾Æ¼ ¼öÁ¤À» ÇØ¾ß¸¸ ÀÇÁ¸µµ°¡ ³ôÀº ÇÁ·¹ÀÓ¿öÅ©·Î ¸¸µé¾î Áú ¼ö ÀÖ´Ù. ±×·¡¾ß ºñ·Î¼Ò ÇÁ·¹ÀÓ¿öÅ©¸¦ ÅëÇÑ »ý»ê¼º Çâ»ó°ú ÄÚµå ǰÁúÀÇ Àϰü¼ºÀ» ¾òÀ» ¼ö ÀÖ´Ù.
´å³Ý ±â¹Ý ÇÁ·¹ÀÓ¿öÅ©ÀÇ Æ®·»µå
ÀÚ¹Ù ±â¹ÝÀÇ ´Ù¾çÇÑ °¢Á¾ ÇÁ·¹ÀÓ¿öÅ©°¡ ÃÖ±Ù ´å³Ý ¹öÀüÀ¸·Î ¸¹ÀÌ ÄÁ¹öÀü µÇ°í ÀÖ´Ù. ÃÖ±Ù ÇÁ·¹ÀÓ¿öÅ©ÀÇ Æ¯Â¡À̶ó¸é °üÁ¡ÁöÇâ ÇÁ·Î±×·¡¹Ö(Aspect-Oriented Programming)°ú IOC(Inversion of Control)±â´ÉÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù. AOP´Â ¾÷¹« ºñÁî´Ï½º °³¹ßÀÚ°¡ ºñÁî´Ï½ºÀÇ ¿ä±¸»çÇ׿¡ ÁýÁßÇÒ ¼ö ÀÖµµ·Ï ºÎ¼öÀûÀÎ ±â´ÉµéÀº µû·Î ±¸ÇöÇÏ´Â ±â¹ýÀ» ¸»ÇÑ´Ù.
ÇÙ½É °ü½É»ç(core concerns)¿Í ºÎ¼öÀûÀΠȾ´Ü °ü½É»ç(cross-cutting concerns)·Î ³ª´©¾î¼ À̵éÀ» µû·Î ±¸ÇöÇÑ ´ÙÀ½¿¡ ³ªÁß¿¡ Çϳª·Î ÇÕÃÄÁÖ´Â À§ºù(weaving) °úÁ¤À» °ÅÃÄ ÇϳªÀÇ ½Ã½ºÅÛÀ¸·Î Á¶¸³ÇÏ´Â ±â¹ýÀÌ´Ù.
´å³Ý¿¡ º¸¸é Ŭ·¡½º³ª ÇÔ¼ö À§¿¡ ±â´ÉÀ» ¼³Á¤ÇÏ´Â ¼Ó¼º(attribute)À» ÁöÁ¤ÇÒ ¼ö Àִµ¥, ÀÌ ¹æ¹ý ¶ÇÇÑ AOPÀÇ ÇÑ ¹æ¹ýÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù. IOC´Â Á¦¾îÀÇ ¹ÝÀüÀ̶ó°í ¹ø¿ªÇϴµ¥ ÀÌ ¿ë¾î º¸´Ù´Â ÀÇÁ¸¼º »ðÀÔ(Dependency Injection)À̶ó´Â ¿ë¾î°¡ ´õ ¾î¿ï¸± °ÍÀÌ´Ù. À̰ÍÀÇ ÇÙ½ÉÀº ÀÌ¿ëÀ¸·ÎºÎÅÍ ¼³Á¤À» ºÐ¸®ÇÑ´Ù´Â °ÍÀÌ´Ù.
Ŭ·¡½ºÀÇ Àç»ç¿ë¼ºÀ» ³ôÀ̱â À§Çؼ °´Ã¼¸¦ »ç¿ëÇÏ´Â Ãø¿¡¼ ¸¸µé °ÍÀÌ ¾Æ´Ï¶ó, ÄÁÅ×À̳ʰ¡ ¼³Á¤ Á¤º¸¸¦ ÅëÇØ¼ ´ë½Å ¸¸µé¾î ÁÖ°Ú´Ù´Â °³³äÀÌ´Ù. ÀÌ·¯ÇÑ °³³äµéÀÌ ÀÚ¹Ù Áø¿µ¿¡¼ ¸ÕÀú ½ÃÀÛÀÌ µÇ¾ú°í, À̸¦ ÀÌ¿ëÇÑ ½ºÇÁ¸µ(spring) ÇÁ·¹ÀÓ¿öÅ© µîÀÌ ´å³Ý ¹öÀüÀÎ Spring.NETÀ¸·Î ¹ßÇ¥µÇ°í ÀÖ´Ù. @
| |
|
¾ó¸¶ Àü±îÁö Ajax¿¡ ´ëÇÑ ¿±â ´ö¿¡ Atlas(Áö±ÝÀº Microsoft ASP.NET AJAX)°¡ °³¹ßÀÚµé »çÀÌÀÇ ÈµÎ¿´´Ù¸é, ¿ä»õ´Â ´å³ÝÇÁ·¹ÀÓ¿öÅ© 3.0ÀÌ °³¹ßÀÚµé »çÀÌÀÇ ÃÖ´ë °ü½É»çÀÌ´Ù. ÀÌ¿¡ ¸ÂÃç ´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0¿¡ ´ëÇÑ ¾ÆÆ¼Å¬µéÀÌ Á¡Â÷ ¿Ã¶ó¿À°í ÀÖ°í, MSDN ¼¼¹Ì³ªµµ ÁÙÁÙÀÌ ¿¸®°í ÀÖ´Ù.
¸¹Àº ´å³Ý°³¹ßÀÚµéÀÌ MSÀÇ Àü·«À» µû¶ó°¡¸é¼µµ ¡®´å³ÝÇÁ·¹ÀÓ¿öÅ© 2.0ÀÌ ¹ßÇ¥µÈ Áö ¾ó¸¶³ª µÇ¾ú´Ù°í, ¹ú½áºÎÅÍ 3.0À̶õ ¸»Àΰ¡?¡¯¶ó´Â Àǹ®Á¡À» °¡Áö°í ÀÖ´Ù. ±×·¸´Ù¸é MS´Â ¿Ö ÀÌ·¸°Ô ¹ß ºü¸¥ Çຸ¸¦ Çϰí ÀÖ´Â °ÍÀϱî?
°æÀï ´ëÀÀÀ» À§ÇÑ MSÀÇ Àü·«
MSÀÇ ¹ÎøÇÑ ¹ß°ÉÀ½Àº ´å³Ý °³¹ßÀÚµéÀÇ ¿ä±¸ Å¿ÀÌ ¾Æ´Ï´Ù. ÀÚüÀûÀÎ Çõ½Å¿¡ ÀÇÇÑ °Í ¶ÇÇÑ ¾Æ´Ï´Ù. ÀüÀûÀ¸·Î »ç¾÷ÀûÀÎ ÀÌÀ¯¿¡¼ ÀÌó·³ ¹ß°ÉÀ½À» ÀçÃËÇÏ°Ô µÈ °ÍÀÌ´Ù. ¿¹Àü¿¡µµ ÀïÀïÇÑ °æÀï»çµéÀÌ ÀÖ¾î¿ÔÁö¸¸, ÃÖ±Ù¿¡ µé¾î¼´Â °æÀï ȸ»çÀÇ ¼±Àü¿¡ ¹Ð¸®´Â µíÇÑ ¸ð½À¸¶Àú º¸À̰í ÀÖ´Ù.
ÃֽŠ»ç·Ê·Î´Â Microsoft ASP.NET AJAX°¡ ±×·¸´Ù. Ajax ¿Ç³¿¡ °³¹ßÀÚµéÀÌ ¼Õ½±°Ô ´ëóÇÒ ¼ö ÀÖµµ·Ï °³¹ßµÇ¾ú´Ù°í »ý°¢ÇϽô »ç¶÷µéµµ ÀÖÀ¸³ª(¹°·Ð ÀÌ·¯ÇÑ ÀÌÀ¯µµ ³»Æ÷µÇ¾î ÀÖ´Ù), º¸´Ù Çö½ÇÀûÀÌ°í ±Ù¿øÀûÀÎ ´ä¾ÈÀº »ç¾÷ÀûÀÎ ÀÌÀ¯ÀÌ´Ù(Ajax¸¦ °¡Àå ¸¹ÀÌ È°¿ëÇϰí ÀÖ´Â °³¹ßÀÚµéÀº ´ë°³ ÀÚ¹Ù Áø¿µÀ̰í, IBMÀÌ Á¦ÀÏ ¿½ÉÈ÷ ¹Ð¾îÁÖ°í ÀÖ´Ù).
´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0µµ ÀÌ·¯ÇÑ ¼±»ó¿¡ ÀÖ´Ù. ±×·¸´Ù¸é MS´Â ¹«¾ùÀ» ³»´Ùº¸°í ÀÖÀ¸¸ç, ´å³ÝÇÁ·¹ÀÓ¿öÅ© 3.0À» ÅëÇØ ¾ò°íÀÚ ÇÏ´Â ¹Ù´Â ¹«¾ùÀϱî?
MS°¡ º¸´Â ¼ÒÇÁÆ®¿þ¾î °³¹ß Æ®·»µå
ÃֽŠÀÚ·á¿¡ ÀÇÇϸé MS°¡ ³»´Ùº¸´Â ¼ÒÇÁÆ®¿þ¾î °³¹ß Æ®·»µå´Â ´ÙÀ½°ú °°´Ù(¿ë¾î´Â ÇÊÀÚ°¡ ¹ø¿ªÇÏ¿´´Ù).
• Â÷µîÈ »ç¿ëÀÚ °æÇè(Differentiated User Experience)
• ¼ºñ½º ±â¹Ý °³¹ß(Service-Oriented Development)
• ºñÁî´Ï½º ÇÁ·Î¼¼½º ¸ðµ¨¸µ(Business Process Modeling)
• µðÁöÅÐ Á¤Ã¼¼º °ü¸®(Digital Identity Management)
´©Â÷ °Á¶ÇÏÁö¸¸ Ajax ¿Ç³ À̸鿡´Â »ç¿ëÀÚ °æÇèÀÌ ÀÚ¸® Àâ°í ÀÖ´Ù. ±â¼úÀûÀÎ ¿ä¼Ò¸¦ ¶°³ª »ç¿ëÀÚ °æÇèÀ» Çâ»ó½Ã۱â À§ÇÑ ´ëÃ¥À¸·Î ³ª¿Â °ÍÀÌ AjaxÀÌ´Ù. Ajax ¿Ç³ ÀÌÈÄ ¸¹Àº ±â¾÷µéÀÌ »ç¿ëÀÚ °æÇè¿¡ ÁßÁ¡À» µÎ°í ÀÖÀ¸¸ç, MSµµ °ü·Ã ÀڷḦ Á¶±Ý¾¿ ³»³õ°í ÀÖ´Ù.
¼ºñ½º ±â¹Ý °³¹ßÀº ÇÁ·Î±×·¡¹Ö Çü½ÄÀÌ º¯Çذ¨¿¡ µû¶ó ³ª¿Ô°í, ´ÜÀÏ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼³°è¸¦ ¼ºñ½º ÁöÇâ ¾ÆÅ°ÅØÃ³(SOA: Service-oriented architecture)ÀÇ °³³äÀ» Àû¿ëÇÑ °³¹ß¹æ¹ý·ÐÀÌ´Ù.
ºñÁî´Ï½º ÇÁ·Î¼¼½º ¸ðµ¨¸µÀº ±â¾÷ÀÇ ºñÁî´Ï½º ÇÁ·Î¼¼½º¸¦ ¼±ÁøÈµÈ Ç¥ÁØ ±Ô¾àÀ» ÁؼöÇÏ¿© ¼³°èÇϵµ·Ï ÇÔÀ¸·Î½á ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ¸í¼¼ ¹× ÇÁ·Î¼¼½º°¡ Ç¥ÃâÇÏ´Â µ¥ÀÌÅÍ¿Í ¿¬°è ÁöÁ¡À» ¸íÈ®ÇÏ°Ô ÇÏ¿© ÇÁ·Î¼¼½º °£ÀÇ ÅëÇÕÀÌ °¡´ÉÇÒ ¼ö ÀÖµµ·Ï Çϴµ¥ ÀÖ´Ù. ÀÛ¾÷È帧(workflow)À» ´ëüÇÏ´Â °³³äÀÌ´Ù.
´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0ÀÇ ±¸¼ºµµ
´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0ÀÇ ±¸¼ºµµ¸¦ °£´ÜÇÏ°Ô Ç¥ÇöÇÏ¸é ´ÙÀ½ ±×¸²°ú °°´Ù.
 | | ´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0 ±¸¼ºµµ |
´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0Àº ±âÁ¸ 2.0¿¡ WPF(Windows Presentation Foundation)¿Í WCF(Windows Communication Foundation), WF(Windows Workflow Foundation) ¹× Ä«µå ½ºÆäÀ̽º(CardSpace)¸¦ Ãß°¡ÇÑ ÇüÅ·Π±¸¼ºµÇ¾î ÀÖ´Ù.
WPF´Â UI³ª ¹®¼ ¹× ¹Ìµð¾î¸¦ Á¶ÇÕÇÏ´Â Â÷¼¼´ë ½º¸¶Æ® Ŭ¶óÀÌ¾ðÆ® ÀÀ¿ë ÇÁ·Î±×·¥ ±¸ÃàÀ» À§ÇÑ Å¬·¡½º¸¦ Á¦°øÇÑ´Ù. WCF´Â ¼ºñ½º ÁöÇâ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸ÃàÀ» À§ÇÑ ÅëÇÕ ÇÁ·Î±×·¡¹Ö ¸ðµ¨ ¹× ·±Å¸ÀÓÀ» Á¦°øÇÑ´Ù.
¶Ç, WF´Â ºñÁî´Ï½º ÇÁ·Î¼¼½º¸¦ ¸ðµ¨¸µÇÏ´Â ¿öÅ© Ç÷ο쿡 »ç¿ë °¡´ÉÇÑ ÀÀ¿ë ÇÁ·Î±×·¥ ±¸ÃàÀ» À§ÇÑ ÇÁ·Î±×·¡¹Ö ¸ðµ¨°ú ¿£Áø ¹× µµ±¸¸¦ Á¦°øÇÑ´Ù. ¸¶Áö¸·À¸·Î Ä«µå ½ºÆäÀ̽º´Â °³ÀÎ ID Á¤º¸¸¦ ÀÌ¿ëÇÑ ¿Â¶óÀÎ ÀÛ¾÷¿¡ ´ëÇÑ º¸¾ÈÀ» ´Ü¼øÈÇÏ°í °ÈÇÏ´Â ±â¼úÀ» Á¦°øÇÑ´Ù.
ÀÌ°Ç ¹«¾ùÀ» ¶æÇÒ±î? ¼ÒÇÁÆ®¿þ¾î °³¹ß Æ®·»µå¿Í ´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0 ±¸¼ºÀÌ ¹«½¼ °ü°èÀϱî? ±× ´äÀº ´å³ÝÇÁ·¹ÀÓ¿öÅ© 3.0ÀÌ ¹Ù·Î ÀÌ·¯ÇÑ Æ®·»µå¿¡ ¸ÂÃß¾îÁ® ÀÖ´Ù´Â °ÍÀÌ´Ù. Á¤¸®Çغ¸¸é ±¸¼º¿ä¼Ò °¢°¢Àº ´ÙÀ½°ú °°ÀÌ ´ëĪ ÇÑ´Ù.
• WPF ==> Â÷µîÈ »ç¿ëÀÚ °æÇè
• WCF ==> ¼ºñ½º±â¹Ý °³¹ß
• WF ==> ºñÁî´Ï½º ÇÁ·Î¼¼½º ¸ðµ¨
• Ä«µå½ºÆäÀ̽º ==> µðÁöÅÐ Á¤Ã¼¼º °ü¸®
Æ®·»µå¸¦ Àд °³¹ßÀÚ
°³¹ßÀÚµµ Æ®·»µå¸¦ ÀÐÀ» ÁÙ ¾Ë¾Æ¾ß ÇÑ´Ù. ¼ÒÇÁÆ®¿þ¾î °³¹ß Æ®·»µå°¡ ¾î¶»°Ô È帣°í ÀÖ´ÂÁö ¾Ë¾Æ¾ß ´Ù°¡¿À´Â ¹Ì·¡¿¡ ´ëºñÇÒ ¼ö ÀÖ°í, Çϱ⿡ µû¶ó ¾Õ¼°¥ ¼öµµ ÀÖ´Ù. ÇöÀç ÁÖ¾îÁø ¾÷¹«¿¡ Ä¡¿© Æ®·»µå¸¦ ÀÐÀ» ¼ö ¾ø´Ù¸é, ´çºÐ°£Àº º° ¹®Á¦°¡ ¾ø°ÚÁö¸¸ ÆÐ·¯´ÙÀÓÀÌ º¯ÈµÇ¾úÀ» ¶§¿¡´Â ¿©·¯ ¾î·Á¿òÀ» °Þ°Ô µÈ´Ù.
´ÙÇàÈ÷µµ MS¿¡¼´Â ÀÌ·¯ÇÑ Æ®·»µå¸¦ ºÐ¸íÇÏ°Ô ÀÎÁöÇÏ°Ô ÇØÁֱ⠶§¹®¿¡ ÀǹÌÇÏ´Â ¹Ù°¡ ¹«¾ùÀÎÁö ¾Ë¾Æ¾ß ÇÑ´Ù.
Æ®·»µå¿¡ ´ëºñÇÏ´Â °³¹ßÀÚ
´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0À» º¸°í 'ÀÌ°Ô ¹¹¾ß?'ÇÏ¸ç ´Ù¼Ò ½Ç¸ÁÇϽô »ç¶÷µéµµ ÀÖÁö¸¸, ´ëºÎºÐÀº ¡®¾î¶»°Ô ´ëºñÇØ¾ß ÇÒ±î?¡¯¸¦ °í¹ÎÇϰí ÀÖ´Ù. °³ÀÎÀûÀ¸·Îµµ ¸íÈ®ÇÏ°Ô ´äÇØ ÁÖ°í ½ÍÁö¸¸, ¾Æ½±°Ôµµ ¾ÆÁ÷±îÁö´Â ±×·² ¼ö ¾ø´Ù. ÇÊÀÚ Àڽŵµ °¢ »çÇ׿¡ ´ëÇØ¼ °í¹ÎÇØº¸´Â ½Ã°£µéÀ» °¡Á®¾ß ÇÑ´Ù.
±×·³¿¡µµ, ±àÁ¤ÀûÀ¸·Î ±Ç¸éÇÒ ¼ö ÀÖ´Â °ÍÀº ´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0Àº ¼ÒÇÁÆ®¿þ¾î °³¹ß Æ®·»µå¸¦ ¹Ý¿µÇÏ¿© ¹Ù¶÷Á÷ÇÑ ¹æÇâÀ¸·Î ³ª¾Æ°¡°í ÀÖ´Ù´Â Á¡ÀÌ´Ù. MSDN°ú ¼¼¹Ì³ª µî ´Ù¾çÇÑ ¹æ¹ýÀ» ÅëÇØ ÀÚ·áµéÀÌ ³ª¿À°í Àֱ⠶§¹®ÀÌ´Ù. ¾ÆÁ÷Àº ´ëºñÇÒ ½Ã°£ÀÌ ÃæºÐÇÏ´Ù. ½ÉÀûÀ¸·Î ºÎ´ã½º·¯¿öÇÏÁö ¸»°í, Á¶±Ý¾¿ ÇÏÁö¸¸ ²ÙÁØÈ÷ ´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0ÀÇ ¼¼°è·Î ³ª¾Æ°¡º¸ÀÚ.
±×·³ ¿©±â¿¡¼ Microsoft ASP.NET AJAX("Atlas")´Â ¾î¶»°Ô µÇ³Ä°í? ASP.NET 2.0¿¡ ÅëÇյǹǷÎ, ´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0¿¡¼´Â Ãß°¡ÀûÀÎ ¼³Ä¡ ¾øÀ̵µ »ç¿ë °¡´ÉÇÏ´Ù´Â °ÍÀÌ ´äÀÌ´Ù.
| | | | | |
| |
* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.