µðÀÚÀÎ ÆÐÅÏ, Software ¸¦ µðÀÚÀÎÇϱâ À§ÇÑ ÆÐÅÏÀ̶ó´Ï ±× ´Ü¾î¸¸À¸·Îµµ ¾ó¸¶³ª ¸Å·ÂÀûÀΰ¡?
ÇÏÁö¸¸
GOF(Gang Of Four)ÀÇ ±× À¯¸íÇÑ ÆÐÅÏÃ¥ Design Pattern : Elements Reusable Object-Orientid Software (¹ø¿ª¼ : GOFÀÇ µðÀÚÀÎÆÐÅÏ) Ã¥À» Àбâ À§ÇØ ½ÃµµÇØ º» »ç¶÷Àº 90% Á¤µµ°¡ Áßµµ¿¡ ±×¸¸µÎ´Â °É ¾Ë ¼ö ÀÖ´Ù.
³ª¸§´ë·Î ÀÌÀ¯¸¦ ²Å¾Æº¸ÀÚ¸é
1. Ã¥ÀÇ ³»¿ëÀÌ ½±°Ô ¾²¿©ÁöÁö ¾Ê¾Ò°í,
2. °´Ã¼ÁöÇâ ¾ð¾î(C++)¿¡ Àͼ÷ÇÏÁö ¾Ê¾Æ¼ À̰ųª
3. ±×¸®°í ±×¸²¾øÀÌ ¹®ÀåÀÌ ±æ°Ô À̾îÁö´Â ÆäÀÌÁö¸¦ Âü¾Æ³»Áö ¸øÇϰųª
ÇÏ´Â µîµîÀÇ ÀÌÀ¯·Î Áßµµ¿¡ Æ÷±âÇÏ´Â °ÍÀ» º¸°ï ÇÑ´Ù.
ÇÏÁö¸¸,
´Ü¼ø ÄÚ´õ¸¦ ³Ñ¾î¼¼ ¼ÒÀ§ ÇÒÇÏ´Â SW ¸¦ ¼³°èÇØ¾ß ÇÏ´Â À§Ä¡¿¡ ¿Ã¶ó°¡·Á°íÇϸé
µðÀÚÀÎÆÐÅÏÀº ¹Ýµå½Ã ³Ñ¾î°¡¾ß ÇÏ´Â ÇʼöÄÚ½ºÀÌ´Ù.
¸¶Ä¡ ÇØ¼³¼ ó·³ ³ª¿Â 'Design pattern explained'°¡ GOF Ã¥ ÇØ¼®À» ´ëÁß¿¡°Ô º¸³½ 1¼¼´ë Ã¥À̶ó¸é
ÀÌ Ã¥, JAVA ¾ð¾î·Î ¹è¿ì´Â µðÀÚÀÎ ÆÐÅÏ ÀÔ¹®Àº 2¼¼´ë Ã¥À̶ó°í ÇÒ ¼ö ÀÖ°Ú´Ù.
Ư¡Àº
1. ÇÑ Ã©ÅͰ¡ ±æÁö ¾ÊÀ¸¸ç ±×¸²°ú ÇØ¼³ÀÌ ¸¹¾Æ µ¶¼ ±× ÀÚüÀÇ ³À̵µ¸¦ ³·Ãß¾ú´Ù.
2. ±×¸®°í °¡Àå Ȱ¹ßÇÏ°Ô »ç¿ëµÇ°í ÀÖ´Â ¾ð¾îÀÎ JAVA ¸¦ º£À̽º ¾ð¾î·Î ¼³¸íÇÏ¿´À¸¸ç
3. ¿¬½À¹®Á¦¸¦ ÅëÇØ µ¶ÀÚ°¡ ´Éµ¿ÀûÀ¸·Î Âü¿©ÇØ º¼ ¼ö ÀÖ´Â ±âȸ¸¦ Á¦°øÇÑ´Ù.
µ¡ºÙ¿©¼,
¸¸ÀÏ ´©°¡ ³ª¿¡°Ô µðÀÚÀÎ ÆÐÅÏ ÇнÀ ·Îµå¸ÊÀ» Ã¥ Áß½ÉÀ¸·Î ±×·Áº¸¶ó°í ÇÑ´Ù¸é ¾Æ·¡¿Í °°ÀÌ ±×¸±°Í °°´Ù.
1±Ç. Head First Design Pattern (ÆÐÅÏÀÔ¹®°ú Áß¿äÆÐÅÏ À§ÁÖ·Î ÇнÀ)
2±Ç. JAVA ¾ð¾î·Î ¹è¿ì´Â µðÀÚÀÎ ÆÐÅÏ ÀÔ¹® (´©¶ôµÈ ÆÐÅϵé°ú ÇÔ²² ¿¬½À¹®Á¦ Ç®ÀÌ)
3±Ç. Design pattern explained (½ÇÁ¦ ¾÷¹«¿µ¿ª¿¡¼ ¹ú¾îÁö´Â Àϵé°ú OOP¿¡ ´ëÇÑ ÀÇ½Ä Á¦°í)
4±Ç. GOFÀÇ µðÀÚÀÎ ÆÐÅÏ (ÇϳªÇϳª À½¹ÌÇÏ¸ç º¹½ÀÇÑ´Ù´Â Àǹ̷Î)
À§ ¸ñ·Ï¿¡¼ ¿©À¯°¡ µÇ¸é 1±Ç(HFÃ¥)ºÎÅÍ ½ÃÀÛÇϰí,
»¡¸® ½ÃÀÛÇÏ°í ½ÍÀ¸¸é ÀÌ Ã¥ ºÎÅÍ ½ÃÀÛÇÏ¸é µÉ°Í °°´Ù.
ƯÈ÷ ÀÌ Ã¥Àº GOFÀÇ Ã¥ÀÌ ³ª¿Â ÀÌÈÄ·Î Ãß°¡·Î ³íÀǰ£ µÇ¾ú´ø ¿©·¯°¡Áö ¹®Á¦( ´ëÇ¥ÀûÀ¸·Î µ¿½Ã¼º ¹®Á¦)¿¡ ´ëÇÑ ÇØ¼³ ºÎºÐÀÌ Ãß°¡·Î ¼³¸íµÇ¾î Àֱ⠶§¹®¿¡, ±»ÀÌ ¾î·Á¿î GOFÃ¥À» °íÁýÇÒ Çʿ䰡 ¾ø´Ù´Â µ¥¿¡ ÀÌÀ¯ ÇѰ¡Áö¸¦ ´õ ´õÇØÁÖ°í ÀÖ´Â ¼ÀÀÌ´Ù.
±×·³ ´õ¿î ¿©¸§, À̿ġ¿, ¿°øÀ¸·Î À̰ܳ»±æ ±â¿ø ÇÑ´Ù.
Good Luck!! ÀΰŴÙ!