lecture Home > ASP.NET > Taeyo's ASP.NET

Taeyo's ASP.NET

   °­Á ÃÖÃÊ ÀÛ¼ºÀÏ : 2008³â 02¿ù 28ÀÏ
   °­Á ÃÖÁ¾ ¼öÁ¤ÀÏ : 2008³â 02¿ù 29ÀÏ

  °­Á ÀÐÀ½ ¼ö : ȸ

   ÀÛ¼ºÀÚ : Taeyo(±è Å¿µ)
   ÆíÁýÀÚ : Taeyo(±è Å¿µ)

   °­Á Á¦¸ñ : À¥ Æû ±â¹ÝÀÇ °³¹ß°ú MVC ±â¹ÝÀÇ °³¹ß 

°­Á Àü Å¿ÀÀÇ Àâ´ã>

À̹ø °­Á´ Àüü ³»¿ë ¸ðµÎ¸¦ ÀÛ¼ºÇÑ µÚ¿¡ Çѹø¿¡ ¿Ã¸®±âº¸´Ù´Â ÁغñµÇ´Â´ë·Î ¿Ã¸®°í ÀÖ½À´Ï´Ù.
¿À·£ ½Ã°£ µÚ¿¡ ±ä ÇϳªÀÇ °­Á¸¦ ¿Ã¸®±âº¸´Ù´Â ºÎºÐ ºÎºÐÀ» ÀÚÁÖ ¾÷µ¥ÀÌÆ® ÇÏ´Â °ÍÀÌ
Â÷¶ó¸® ³´´õ¶ó´Â µ¶ÀÚµéÀÇ Çǵå¹é¿¡ ¸ÂÃç ±×·¸°Ô Çϰí ÀÖ´Â °ÍÀÔ´Ï´Ù. ^^
°­Á°¡ ³¡³ª¸é, Àüü °­Á¸¦ Çѹø¿¡ Ãâ·ÂÇÏ±â ÆíÇϵµ·Ï ÇÑ ÆäÀÌÁö·Î ÇÕÄ£ ÆäÀÌÁöµµ º°µµ·Î Á¦°øÇØ µå¸±²²¿ä
¿ª½Ã³ª ¼¼½ÉÇÑ ¹è·Á°¡ ¿³º¸ÀÌ´Â Å¿ÀÁÒ? ÀÕÈþ~
°¨»çÇÕ´Ï´Ù.


M/V/C ·ÎÀÇ ºÐ¸®

¿ì¼± À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±¸Á¶¸¦ Model(¸ðµ¨), View(ºä), Controller(ÄÁÆ®·Ñ·¯)·Î ºÐ¸®ÇÏ´Â MVC ÆÐÅÏ¿¡¼­ °¢°¢ÀÇ ±×·¯ÇÑ ÄÄÆ÷³ÍÆ®µéÀÇ ¿ªÇÒ¿¡ ´ëÇØ¼­ ¸ÕÀú »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù. °¢°¢ÀÇ ºÐ¸®´Â ¹°¸®ÀûÀÎ ºÐ¸®¶ó±â º¸´Ù´Â ³í¸®ÀûÀÎ ºÐ¸®ÀÓÀ» ±â¾ïÇÏ½Ã°í ´ÙÀ½ ³»¿ëÀ» »ìÆìº¸½Ã±â ¹Ù¶ø´Ï´Ù.

Model(¸ðµ¨)

¸ðµ¨Àº ½ÇÁ¦ ·ÎÁ÷À» ±¸ÇöÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ Áß¿äÇÑ ºÎºÐÀÔ´Ï´Ù. ÀÌ´Â ÀϹÝÀûÀ¸·Î µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ °¡Á®¿Í¼­ ´ã¾ÆµÎ°Å³ª, µ¥ÀÌÅͺ£À̽º·Î ÀúÀåÇÏ´Â ¿ªÇÒÀ» ¼öÇàÇÕ´Ï´Ù. ÁÖ·Î ¸ðµ¨¸µÀ» ÅëÇØ¼­ »êÃâµÈ ¿£ÅÍÆ¼µéÀÌ ÀÌ·¯ÇÑ ¸ðµ¨¿¡ ¼ÓÇÏ°Ô µÇÁö¸¸, ÀÛÀº ±Ô¸ð¿¡¼­´Â DataSetµµ ¸ðµ¨·Î¼­ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

View(ºä)

ºä´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º Áï, UIÀ» Ãâ·ÂÇÏ´Â ÄÄÆ÷³ÍÆ®ÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î UI´Â ¸ðµ¨ÀÇ µ¥ÀÌÅ͸¦ ±â¹ÝÀ¸·Î ¸¸µé¾îÁý´Ï´Ù. È­¸é Ãâ·Â°ú °ü°èµÈ ·ÎÁ÷À» Æ÷ÇÔÇÒ ¼ö´Â ÀÖÁö¸¸, »ç¿ëÀÚ ÀÔ·ÂÀ̳ª ÀÎÅÍ·º¼Ç, ¾÷¹«¿Í °ü°èµÈ ·ÎÁ÷Àº °áÄÚ View°¡ °¡Á®¼­´Â ¾ÈµË´Ï´Ù. ÀÌ´Â ¿À·ÎÁö È­¸éÀ» Ãâ·ÂÇϱâ À§ÇÑ ¿ªÇÒ¸¸À» ´ã´çÇϱ⠶§¹®ÀÔ´Ï´Ù.

Controller(ÄÁÆ®·Ñ·¯)

¾îÂî º¸¸é MVC¿¡¼­ °¡Àå ÇÙ½ÉÀÌ µÇ´Â ÄÄÆ÷³ÍÆ®ÀÔ´Ï´Ù. »ç¿ëÀÚÀÇ ÀÎÅÍ·º¼ÇÀ» ó¸®Çϰí, ¸ðµ¨À» Á¶ÀÛÇϸç, ÃÖÁ¾ UI·Î Ãâ·ÂµÉ ºä¸¦ °áÁ¤ÇÏ´Â ¿ªÇÒÀ» ´ã´çÇÕ´Ï´Ù. ÀüüÀûÀÎ ÄÚµð³×ÀÌÅÍ ¿ªÇÒÀ» ÇÑ´Ù°í º¼ ¼ö Àִµ¥¿ä. ÀÌ´Â »ç¿ëÀÚÀÇ ÀÔ·Â °ªÀ» ¼ö½ÅÇÏ°í µ¥ÀÌÅÍ ¸ðµ¨À» ÅëÇØ¼­ ÇÊ¿äÇÑ µ¥ÀÌÅ͸¦ °¡Á®¿Í ÀÀ´ä(Response)À» ±¸¼ºÇÏ´Â Àü¹ÝÀûÀΠåÀÓÀ» ´ã´çÇÕ´Ï´Ù.

ÀÌ·¯ÇÑ MVC ÆÐÅÏ¿¡ µû¶ó ¾ÖÇø®ÄÉÀ̼ÇÀ» 3°³ÀÇ ÄÄÆ÷³ÍÆ®·Î ³ª´©¾î ±¸¼ºÇÏ°Ô µÇ¸é, °¢ ¿ä¼Ò °£¿¡ ¿¬°áÀ» º¸´Ù ´À½¼ÇÏ°Ô ±¸¼ºÇÒ ¼ö°¡ ÀÖ°Ô µÇ±â¿¡ º¹ÀâÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀ» °ü¸®Çϱ⿡ ¿ëÀÌÇϸç, º´Çà °³¹ß(µ¿½Ã¿¡ °¢°¢ÀÇ ÄÄÆ÷³ÍÆ®¸¦ °³¹ßÇÏ´Â ¹æ½Ä)ÀÌ °¡´ÉÇÏ´Ù´Â ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù. ±×¸®°í, ÀÌ·¯ÇÑ ºÐ¸®·Î ÀÎÇØ ±âÁ¸ÀÇ ASP.NET ¾ÖÇø®ÄÉÀ̼Ǻ¸´Ù ÈξÀ Å×½ºÆ®ÇϱⰡ ¿ëÀÌÇÏ´Ù´Â ÀÌÁ¡À» ¾òÀ» ¼öµµ ÀÖ½À´Ï´Ù.

±âÁ¸ ASP.NET ¾ÖÇø®ÄÉÀ̼ÇÀº Å×½ºÆ®¸¦ Çϱâ À§Çؼ­ »ç¿ëÀÚ ÀԷ¿¡ µû¶ó Àü¹ÝÀûÀÎ ASP.NETÀÇ ÇÁ·Î¼¼½º(ÆäÀÌÁö Ŭ·¡½º¸¦ »ý¼º, ÃʱâÈ­Çϰí, °³Ã¼ Æ®¸®¿¡ ¼ÓÇØÀÖ´Â ¸ðµç ÄÁÆ®·ÑµéÀ» »ý¼ºÇÏ´Â µî) ¸¦ ¸ðµÎ °ÅÃİ¡¸ç Å×½ºÆ®ÇØ¾ß Ç߱⿡ ±× ÀýÂ÷°¡ ¾à°£ º¹ÀâÇß°í ¶ÇÇÑ, Å×½ºÆ®¸¦ À§Çؼ­´Â ¹Ýµå½Ã À¥ ¼­¹ö°¡ ¿ä±¸µÈ´Ù´Â Á¦¾àÀÌ ÀÖ¾úÁö¸¸, MVC ÆÐÅÏÀ» Àû¿ëÇØ¼­ ±¸¼ºÇÏ°Ô µÇ¸é °³º°ÀûÀÎ ÄÄÆ÷³ÍÆ®¸¦ µ¶¸³ÀûÀ¸·Î Å×½ºÆ®ÇÒ ¼ö ÀÖ°Ô µÇ±â¿¡ ¾ÖÇø®ÄÉÀ̼ÇÀÇ °³¹ß°ú Å×½ºÆ®°¡ »ó´ëÀûÀ¸·Î ¿ëÀÌÇÏ´Ù´Â ÀÌÁ¡À» ¾òÀ» ¼ö ÀÖÀ¸¸ç, ÀÌ´Â TDD(Test-Driven Development)¿¡µµ ºÎÇÕÇÑ´Ù°í º¼ ¼ö ÀÖ½À´Ï´Ù.

¾î¶»°Ô ¸ðµâÀ» ³ª´²¾ß Çϰí, ¾î¶² Äڵ带 ¾îµð¿¡ ÀÛ¼ºÇØ¾ß ÇÏ´Â Áö´Â Áö±Ý °í¹ÎÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù. ±×¿¡ ´ëÇÑ ÅÛÇø´°ú ±ÔÄ¢À» ASP.NET MVC ÇÁ·¹ÀÓ¿öÅ©°¡ Á¦°øÇϰí Àֱ⿡ ±×°¡ Á¦¾ÈÇÏ´Â ±ÔÄ¢¿¡ µû¶ó °³¹ßÀ» ÇÏ¸é µÇ±â ¶§¹®ÀÌÁö¿ä. ÀÌ¿¡ ´ëÇÑ º»°ÝÀûÀÎ À̾߱â´Â ´ÙÀ½ °­ÁºÎÅÍ ½ÃÀÛÇÕ´Ï´Ù.

À¥ Æû ±â¹ÝÀÇ °³¹ß°ú MVC ±â¹ÝÀÇ °³¹ß

Á¶±ÝÂëÀº »õ·Î »ç±Ï Ä£±¸ÀÇ ÆíÀ» µé¾î ¼³¸íÇÏ´Ù º¸´Ï, ÀÚÄ©Çϸé ÀÌ·¯ÇÑ ¼³¸íÀÌ ¸¶Ä¡ ±âÁ¸ÀÇ ASP.NET ¾ÖÇø®ÄÉÀ̼ÇÀº ±×´ÙÁö ¸Å·ÂÀÌ ¾ø°í MVC¸¸ÀÌ ÈǸ¢ÇÑ °Íó·³ ´À²¸Áö°Ô ¼³¸íÇÑ °Íµµ °°Àºµ¥¿ä. ¾Õ¿¡¼­µµ ¸»¾¸ µå·ÈÁö¸¸, ±×°Ô ²À ±×·± °Í¸¸Àº ¾Æ´Õ´Ï´Ù. ±âÁ¸ À¥ Æû ¹æ½ÄÀÇ ASP.NETµµ ¸¹Àº ÀåÁ¡µéÀ» °¡Áö°í ÀÖÀ¸´Ï±î¿ä. ¸»ÀÌ ³ª¿Â ±è¿¡ °£´ÜÇÏ°Ô µÎ ±â¼úÀÌ °¡Áø °¢°¢ÀÇ ÀåÁ¡À» °£·«ÇÏ°Ô Á¤¸®ÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

À¥ Æû ±â¹ÝÀÇ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÀåÁ¡

  • °¢°¢ÀÇ ÆäÀÌÁö ´ÜÀ§·Î ±â´ÉÀ» ÀÛ¼ºÇÏ´Â Page Controller ÆÐÅÏÀ» »ç¿ëÇÑ´Ù.
    : °³º° È­¸é ´ÜÀ§ Áß½ÉÀûÀÎ ¾÷¹«¸¦ °³¹ßÇϱ⿡ ¸Å¿ì ÀûÇÕÇÏ´Ù.
  • À̺¥Æ® Áß½ÉÀÇ ÇÁ·Î±×·¡¹Ö ¸ðµ¨À» Á¦°øÇÑ´Ù.
    : ´Ù¾çÇÑ À̺¥Æ®¸¦ Á¦°øÇÏ´Â ¼ö ¸¹Àº ¼­¹ö ÄÁÆ®·ÑÀÌ Á¦°øµÇ±â¿¡, À̺¥Æ® Áß½ÉÀûÀÎ °³¹ßÀ» ÅëÇØ ¾÷¹« È­¸éÀ» Á÷°üÀûÀ¸·Î ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
  • ºä»óÅÂ(ViewState)¿Í ¼­¹ö ±â¹ÝÀÇ ÆûÀ» »ç¿ëÇϱ⿡, »óÅ Á¤º¸¸¦ °ü¸®Çϱ⿡ ¿ëÀÌÇÏ´Ù.
  • MVC ±â¹ÝÀÇ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÀåÁ¡

  • ¸ðµç ¿äûÀ» ´ÜÀÏ ÄÁÆ®·Ñ·¯¸¦ ÅëÇØ¼­ ó¸®ÇÏ´Â Front Controller ÆÐÅÏÀ» »ç¿ëÇÑ´Ù
    : ¸ðµç ¿äûÀ» ´ÜÀÏ ÄÁÆ®·Ñ·¯¸¦ ÅëÇØ ó¸®ÇϹǷÎ, ¶ó¿ìÆÃ(routing) ÇϺα¸Á¶¸¦ Áö¿øÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÒ ¼ö ÀÖ´Ù.
  • ¾ÖÇø®ÄÉÀ̼ÇÀ» 3°³ÀÇ ³í¸® ¸ðµâ·Î ºÐ¸®Çϱ⿡ ¾ÖÇø®ÄÉÀ̼ÇÀÇ º¹À⼺À» °ü¸®Çϱ⠽±°Ô ÇÑ´Ù.
  • ºä»óųª ¼­¹ö ±â¹ÝÀÇ ÆûÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù
    : °³¹ßÀÚ°¡ ¾ÖÇø®ÄÉÀ̼ÇÀÇ µ¿ÀÛ¹æ½ÄÀ» ÀüüÀûÀ¸·Î Á¦¾îÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¼¼¹ÐÇÏ°Ô ¾ÖÇø®ÄÉÀ̼ÇÀ» Á¶ÀÛÇÏ°í ½ÍÀº À̵鿡°Ô ÀûÇÕÇÏ´Ù. ´Ü, ÀÌ·¯ÇÑ ±â´É(»óÅÂÁ¤º¸ °ü¸®)ÀÌ ÇÊ¿äÇÒ °æ¿ì Ãß°¡ÀûÀÎ ÀÛ¾÷ÀÌ ¿ä±¸µÈ´Ù.
  • ÀÌÁ¦ MVC ¸ðµ¨ÀÌ ¾î¶»°Ô ¿ì¸®¸¦ Áñ°Ì°Ô ÇØÁÙ ¼ö ÀÖÀ» °ÍÀÎÁö °³³äÀûÀ¸·Î´Â ¾à°£ÀÇ ±â´ë°¡ ÃæÀüµÇ¾úÀ» °ÍÀ̶ó »ý°¢ÇÕ´Ï´Ù. ¸·»ó »ç¿ëÇÏ´Ù º¸¸é À¥ Æû ±â¹ÝÀÇ °³¹ßÀÌ ±×¸®¿öÁö´Â °æ¿ìµµ ÀûÁö ¾ÊÁö¸¸(À̺¥Æ® ÇÁ·Î±×·¡¹Ö ¸ðµ¨µµ ²Ï³ª °³¹ß¿¡ Æí¸®ÇÑ ¸ðµ¨À̱⿡), MVC´Â MVC´ë·Î À¯¿ëÇÑ ¸¹Àº ±â´ÉµéÀ» Á¦°øÇϱ⿡ À̸¦ ÅëÇÑ °³¹ßÀÌ Çѵ¿¾ÈÀº ²Ï ¼±ÀüÇÏÁö ¾ÊÀ»±î ¿¹»óÀÌ µË´Ï´Ù. ¹°·Ð, ±×·¸´Ù ÇÏ´õ¶óµµ ¸¹Àº ¾ÖÇø®ÄÉÀ̼ÇÀº ¿©ÀüÈ÷ À¥ Æû ±â¹ÝÀ¸·Î °³¹ßµÉ °ÍÀ̸ç, ½ÉÁö¾î´Â À¥ Æû ±â¹Ý°ú MVC ±â¹ÝÀÌ È¥ÇյǴ ¾ÖÇø®ÄÉÀ̼ǵµ »ý°Ü³¯ ¼ö ÀÖ°ÚÁö¸¸ ¸»ÀÔ´Ï´Ù.

    ±×·¸´Ù¸é, ÀÌ·¯ÇÑ Áö½ÄÀ» ¸Ó¸®¿¡ ´ã¾ÆµÎ°í, ´ÙÀ½ °­ÁºÎÅÍ´Â º»°ÝÀûÀ¸·Î ASP.NET MVC ÇÁ·¹ÀÓ¿öÅ©°¡ Áö¿øÇÏ´Â ±â´Éµé¿¡ ´ëÇØ¼­ ¼³¸íÀ» ÇØº¸µµ·Ï ÇϰڽÀ´Ï´Ù. ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ Áö¿øÇÏ´Â ±â´ÉÀ» °£·«ÇÏ°Ô »ìÆìº» µÚ, ±×¿¡ µû¶ó °¡º­¿î »ùÇà ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸ðµ¨/ºä/ÄÁÆ®·Ñ·Î·Î ºÐ¸®ÇÏ¿© ÀüüÀûÀÎ ±¸µ¿ ¿¹Á¦¸¦ ¿Ï¼ºÇÏ´Â ½ÄÀ¸·Î °­Á¸¦ ÁøÇàÇØ º¼±î ÇÕ´Ï´Ù.

    ±â´ë°¡ µÇ½Å´Ù¸é~ Talk °Ô½ÃÆÇ¿¡ ÀÀ¿øÀÇ ±ÛÀ» ³²°ÜÁֽʽÿÀ!!! °¨»çÇÕ´Ï´Ù.

     

    °­Á ¸ñ·ÏÀ¸·Î..