JAVA ¾ð¾î·Î ¹è¿ì´Â µðÀÚÀÎ ÆÐÅÏ ÀÔ¹® (3ÆÇ)
¢º 3ÆÇ¿¡¼ ´Þ¶óÁø Á¡
¤ý¿¹Á¦ ÇÁ·Î±×·¥À» Çö´ë Java ¾ð¾î(¶÷´Ù½Ä, È®Àå for¹®, enumÇü µî)·Î ¾÷µ¥ÀÌÆ®
¤ýÀÌÇØÇϱ⠽±°Ô ¼³¸íÇ쵂 Çö´ëÀÇ °üÁ¡¿¡¼ ¿¹Á¦¿Í ¼³¸í(ÀÇÁ¸¼º ÁÖÀÔ, º¸¾È °ü·Ã ¼³¸í µî) ¼öÁ¤
¤ý°íÀüÀûÀÎ µðÀÚÀÎ ÆÐÅÏ 23°³´Â ±×´ë·Î ´Ù·ç¸é¼ ´ëÀÀÇÏ´Â ¿¹Á¦ ÇÁ·Î±×·¥µµ ½ÉÇÃÇÏ°Ô À¯Áö
¢º ÀÌ Ã¥ÀÇ µ¶ÀÚ
¤ý°´Ã¼ÁöÇâ¿¡ °ü½ÉÀÌ ÀÖ´Â »ç¶÷
¤ýµðÀÚÀÎ ÆÐÅÏ¿¡ °ü½ÉÀÌ ÀÖ´Â »ç¶÷ (ƯÈ÷ GoF Ã¥À» º¸°í ¾î·Æ´Ù°í ´À³¤ »ç¶÷)
¤ýJava ÇÁ·Î±×·¡¸Ó (ƯÈ÷ Ãß»ó Ŭ·¡½º³ª ÀÎÅÍÆäÀ̽º°¡ Àß ÀÌÇØµÇÁö ¾Ê´Â »ç¶÷)
¢º ÀÌ Ã¥ÀÇ ±¸¼º
Part 1 Iterator - 󸮸¦ ¹Ýº¹ÇÑ´Ù
¿©·¯ ¿ä¼Ò°¡ ¸ð¿© ÀÖ´Â ÁýÇÕ¿¡¼ ¼ø¼´ë·Î ¿ä¼Ò¸¦ ó¸®ÇÏ´Â Iterator ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 2 Adapter - »çÀÌ¿¡ ³¢¿ö Àç»ç¿ëÇÑ´Ù
¼·Î ´Ù¸¥ ÀÎÅÍÆäÀ̽º(API)ÀÇ Å¬·¡½º¸¦ ¿¬°áÇÏ´Â Adapter ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù
Part 3 Template Method - ÇÏÀ§ Ŭ·¡½º¿¡¼ ±¸Ã¼ÀûÀ¸·Î ó¸®ÇÑ´Ù
»óÀ§ Ŭ·¡½º¿¡¼ ±â´ÉÀÇ »À´ë¸¦ Á¤ÀÇÇϰí, ÇÏÀ§ Ŭ·¡½º¿¡¼ ¼¼ºÎ 󸮸¦ ±¸ÇöÇÏ´Â Template Method ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 4 Factory Method - ÇÏÀ§ Ŭ·¡½º¿¡¼ ÀνºÅϽº¸¦ ¸¸µç´Ù
»óÀ§ Ŭ·¡½º¿¡¼´Â ÀνºÅϽº¸¦ »ý¼ºÇÏ´Â ¹æ¹ýÀ» °áÁ¤Çϰí, ÇÏÀ§ Ŭ·¡½º¿¡¼ ÀνºÅϽº¸¦ »ý¼ºÇÏ´Â Factory Method ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 5 Singleton - ÀνºÅϽº¸¦ ´Ü Çϳª¸¸ ¸¸µç´Ù
ÀνºÅϽº°¡ Çϳª¸¸ Á¸ÀçÇÏ´Â Singleton ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 6 Prototype - º¹»çÇØ¼ ÀνºÅϽº¸¦ ¸¸µç´Ù
¿øÇüÀÌ µÇ´Â ÀνºÅϽº¸¦ º¹»çÇØ¼ ÀνºÅϽº¸¦ ¸¸µå´Â Prototype ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 7 Builder - º¹ÀâÇÑ ÀνºÅϽº¸¦ Á¶¸³ÇÑ´Ù
º¹ÀâÇÑ ÀνºÅϽº¸¦ ´Ü°èÀûÀ¸·Î Á¶¸³ÇÏ´Â Builder ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 8 Abstract Factory - °ü·Ã ºÎǰÀ» Á¶ÇÕÇÏ¿© Á¦Ç°À» ¸¸µç´Ù
°øÀåó·³ ºÎǰÀ» Á¶ÇÕÇÏ¿© ÀνºÅϽº¸¦ »ý¼ºÇÏ´Â Abstract Factory ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 9 Bridge - ±â´É °èÃþ°ú ±¸Çö °èÃþÀ» ³ª´«´Ù
µÎ Á¾·ùÀÇ È®ÀåÀÌ È¥ÀçÇÏ´Â ÇÁ·Î±×·¥À» ±â´É °èÃþ°ú ±¸Çö °èÃþÀ¸·Î ³ª´©°í, ±× »çÀÌ¿¡¼ Áß°³ ¿ªÇÒÀ» ÇÏ´Â Bridge ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 10 Strategy - ¾Ë°í¸®ÁòÀ» ¸ðµÎ ¹Ù²Û´Ù
¾Ë°í¸®ÁòÀ» ½Ï ¹Ù²ã¼ °³¼±Çϱ⠽±°Ô ¸¸µå´Â Strategy ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 11 Composite - ±×¸©°ú ³»¿ë¹°À» µ¿ÀϽÃÇÑ´Ù
±×¸©°ú ³»¿ë¹°À» µ¿ÀϽÃÇÏ¿© Àç±ÍÀûÀÎ ±¸Á¶¸¦ ±¸ÃàÇÏ´Â Composite ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 12 Decorator - Àå½ÄƲ°ú ³»¿ë¹°À» µ¿ÀϽÃÇÑ´Ù
Àå½Ä°ú ³»¿ë¹°À» µ¿ÀϽÃÇÏ¿© Àå½ÄƲÀ» ¿©·¯ °ãÀ¸·Î °ãÄ¡´Â Decorator ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 13 Visitor - µ¥ÀÌÅÍ ±¸Á¶¸¦ µ¹¾Æ´Ù´Ï¸é¼ ó¸®ÇÑ´Ù
µ¥ÀÌÅÍ ±¸Á¶¸¦ µ¹¾Æ´Ù´Ï¸é¼ °°Àº Á¶ÀÛÀ» ¹Ýº¹Çؼ Àû¿ëÇÏ´Â Visitor ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 14 Chain of Responsibility - Ã¥ÀÓÀ» ¶°³Ñ±ä´Ù
º¹¼öÀÇ °´Ã¼°¡ ¿¬°áµÈ üÀÎ ¾È¿¡¼ ÀÛ¾÷ÇÏ´Â Chain of Responsibility ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 15 Facade - ´Ü¼øÇÑ Ã¢±¸¸¦ ¸¸µç´Ù
º¹ÀâÇÏ°Ô ¾ôÈù Ŭ·¡½º¸¦ °³º°ÀûÀ¸·Î Á¦¾îÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, ⱸ ¿ªÇÒÀ» Çϴ Ŭ·¡½º¸¦ Çϳª ¹èÄ¡ÇÔÀ¸·Î½á ½Ã½ºÅÛ ÀüüÀÇ Á¶ÀÛ¼ºÀ» ÁÁ°Ô ¸¸µå´Â Facade ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 16 Mediator - ÁßÀçÀÚ¸¦ ÅëÇØ ó¸®ÇÑ´Ù
º¹¼öÀÇ Å¬·¡½º°¡ ¼·Î Á÷Á¢ ¼ÒÅëÇÏÁö ¾Ê°í, Áß°³ ¿ªÇÒÀ» Çϴ Ŭ·¡½º¸¦ Çϳª ÁغñÇØ ±× Ŭ·¡½ºÇÏ°í¸¸ ÀÇ»ç ¼ÒÅëÀ» ÇÏ°Ô ÇØ¼ ÇÁ·Î±×·¥À» ´Ü¼øÇÏ°Ô ¸¸µå´Â Mediator ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 17 Observer - »óÅ º¯È¸¦ ¾Ë·Á ÁØ´Ù
»óŰ¡ º¯ÈÇϴ Ŭ·¡½º¿Í ±× º¯È¸¦ ÅëÁö¹Þ´Â Ŭ·¡½º¸¦ ºÐ¸®ÇØ »ý°¢ÇÏ´Â Observer ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 18 Memento - »óŸ¦ ÀúÀåÇÑ´Ù
ÇöÀç »óŸ¦ ÀúÀåÇϰí ÇÊ¿äÇÒ ¶§ º¹±Í½ÃÄÑ, Undo ±â´ÉÀ» ÇÒ ¼ö ÀÖ°Ô ÇÏ´Â Memento ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 19 State - »óŸ¦ Ŭ·¡½º·Î Ç¥ÇöÇÑ´Ù
»óŸ¦ Ŭ·¡½º·Î Ç¥ÇöÇÏ°í »óÅ¿¡ µû¸¥ ºÐ±â 󸮸¦ ÁÙ¿© ÁÖ´Â State ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 20 Flyweight - °°Àº °ÍÀº °øÀ¯Çؼ ³¶ºñ¸¦ ¾ø¾Ø´Ù
¿©·¯ °÷¿¡¼ °°Àº °ÍÀÌ µîÀåÇÒ ¶§ ±×°ÍµéÀ» °øÀ¯Çؼ ³¶ºñ¸¦ ¾ø¾Ö´Â Flyweight ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 21 Proxy - ÇÊ¿äÇØÁö¸é ¸¸µç´Ù
Á¤¸»·Î ¸ñÀûÇÑ °ÍÀÌ ÇÊ¿äÇØÁú ¶§±îÁö´Â ´ë¸®ÀÎÀ» ½ÃÄÑ Ã³¸®¸¦ ÁøÇàÇÏ´Â Proxy ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 22 Command - ¸í·ÉÀ» Ŭ·¡½º·Î Ç¥ÇöÇÑ´Ù
¿ä±¸³ª ¸í·ÉÀ» ÇüÅ·Π¸¸µé¾î Ŭ·¡½º·Î Ç¥ÇöÇÏ´Â Command ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.
Part 23 Interpreter - ¹®¹ý ±ÔÄ¢À» Ŭ·¡½º·Î Ç¥ÇöÇÑ´Ù
¹®¹ý ±ÔÄ¢À» Ŭ·¡½º·Î Ç¥ÇöÇÏ´Â Interpreter ÆÐÅÏÀ» ÇнÀÇÕ´Ï´Ù.