ÆÐÅÏ¿¡°üÇÑ10°¡Áö¿ÀÇØ
UserPreferences
serious-code.net
RecentChanges
±â¼úÀÚ·á
¸µÅ©
TitleIndex
ºí·Î±×
from
Pattern Hatching - Design Patterns Applied
1 ÆÐÅÏÀº ÀÓÀÇÀÇ È¯°æ ÇÏ¿¡¼ ÀϾ´Â ¹®Á¦µé¿¡ ´ëÇÑ ÇØ¹ýÀÌ´Ù.
A pattern is a solution to a problem in a context.
ÆÐÅÏÀ» Á¦´ë·Î Á¤ÀÇÇϱâ À§Çؼ´Â ȯ°æ(context), ¹®Á¦(problem), ÇØ¹ý(solution), ÀÌ ¼¼ ´Ü¾î ¿Ü¿¡µµ ÃÖ¼ÒÇÑ ´ÙÀ½°ú °°Àº °³³äµéÀÌ µé¾î°¡¾ßÇÑ´Ù.
¹Ýº¹(recurrence) - °ÅÀÇ ¹Ýº¹µÇÁö ¾Ê´Â ¹®Á¦¿¡ ´ëÇÑ ÇØ¹ýÀº º°·Î ¾µ¸ð°¡ ¾ø´Â ¹ýÀÌ´Ù.
±³ÈÆ(teaching) - º¯ÇüµÈ ¹®Á¦¿¡ ´ëÀÀÇÒ ¼ö ÀÖµµ·Ï, ¹º°¡ ¹è¿ï ¼ö ÀÖ´Â °ÍÀÌ ÀÖ¾î¾ß ÇÑ´Ù.
À̸§(name) - ±× ÆÐÅÏÀ» Á¤ÀÇÇϱâ À§ÇÑ À̸§ÀÌ ÇÊ¿äÇÏ´Ù.
2 ÆÐÅÏÀº ±×³É ´Ü¾î ¶Ç´Â ±ÔÄ¢, ²Ç¼ö, µ¥ÀÌÅÍ ±¸Á¶ µîÀ» ºÎÇ®·Á¼ ¸»ÇÏ´Â °ÍÀÏ »ÓÀÌ´Ù.
Patterns are just jargon, rules, programming tricks, data structures...
Àͼ÷ÇÏÁö ¾ÊÀº ¾î¶² °ÍÀ» º» »ç¶÷ÀÌ ±×°ÍÀ» ¾Ë°í ÀÖ´Â Àͼ÷ÇÑ °ÍÀ¸·Î ÁÙ¿©¼ ÀÌÇØÇÏ·Á ÇÏ´Â °ÍÀº ÀÚ¿¬½º·¯¿î ÀÏÀÌ´Ù. ƯÈ÷ ±×°Í¿¡ ´ëÇØ ÀÚ¼¼È÷ ¾Ë°í ½ÍÀº ¸¶À½ÀÌ ¾ø´Ù¸é ±×·¯ÇÑ °æÇâÀº ´õ¿í °ÇØÁø´Ù.
ÆÐÅÏÀº »õ·Î¿î °³³äÀ» ³Ê¹« ¸¹ÀÌ °¡Á®¿ÔÁö¸¸, ±× Áß¿¡ ÆÐÅÏ ±× ÀÚü¿¡¸¸ ±¹ÇÑµÈ °³³äÀº °ÅÀÇ ¾ø´Ù. ±×·¯¹Ç·Î º°·Î ¾µ¸ð¾ø´Â '´Ü¾î'³ª '°³³ä' Á¤µµ·Î¸¸ Ãë±ÞÇÏ´Â °ÍÀº ¹«¸®´Ù.
ÆÐÅÏÀº ¾Æ¹« »ý°¢ ¾øÀÌ Àû¿ëÇÒ ¼ö ÀÖ´Â ±ÔÄ¢(rule)ÀÌ ¾Æ´Ï´Ù. À§¿¡¼µµ ¾ð±ÞÇßµíÀÌ ÆÐÅÏÀº ±×°ÍÀ¸·ÎºÎÅÍ ¹º°¡¸¦ ¹è¿ï ¼ö ÀÖ¾î¾ß Çϱ⠶§¹®¿¡ Ç×»ó ¹º°¡¸¦ »ý°¢Çϸç Àû¿ëÇØ¾ß ÇÑ´Ù.
ÆÐÅÏ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀÌ µé¾î°¥ ¶§ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í °ü·ÃµÈ ºÎºÐÀÌ µé¾î°¡±â´Â ÇÏÁö¸¸, ÆÐÅÏÀ» ÇÁ·Î±×·¡¹Ö ²Ç¼ö³ª µ¥ÀÌÅÍ ±¸Á¶·Î Ãë±ÞÇÏ´Â °ÍÀº, ȯ°æÀ̳ª, ¹®Á¦, ±³ÈÆ, À̸§ µîÀ» ¹«½ÃÇϰí, ÇØ¹ý(solution)¸¸À» °Á¶ÇÏ´Â °ÍÀÌ´Ù.
3 ÆÐÅÏÀº ¸î°¡Áö¸¸ ¾Ë¸é ÃæºÐÇÏ´Ù.
Seen one, seen them all.
Àß ¸ð¸£´Â °Í¿¡ ´ëÇØ ´ë·«ÀûÀ¸·Î¸¸ »ìÆìº¸°í °á·ÐÀº ³»¸®´Â °ÍÀº ÁÁÁö ¸øÇÑ ÇൿÀÌ´Ù. ÆÐÅÏ¿¡ ´ëÇÑ ¿¬±¸´Â ¾ÆÁ÷ ¹ßÀü ÁßÀ̰í, »ç¶÷¿¡ µû¶ó ³»¿ë, °üÁ¡, ½ºÅ¸ÀÏ, Áú µîÀÌ ¸Å¿ì Â÷À̰¡ ³´Ù. ±×·¯¹Ç·Î ²÷ÀÓ¾øÀÌ ¹è¿ì°í ¿¬±¸ÇÏ´Â ÀÚ¼¼°¡ ÇÊ¿äÇÏ´Ù.
4 ÆÐÅÏÀÌ È¿°ú¸¦ ¹ßÈÖÇϱâ À§Çؼ´Â ÅøÀ̳ª ¹æ¹ý·ÐÀûÀÎ µµ¿òÀÌ ÇÊ¿äÇÏ´Ù.
Patterns need tool or methodological support to be effective.
ÆÐÅÏÀº ±× ÀÚü·Î¼ °¡Ä¡°¡ ÀÖ´Ù. »ç½Ç ¾î¶² °æ¿ì´Â ´Ù¸¥ µµ±¸¸¦ °³ÀÔ½ÃŰ´Â °ÍÀÌ ¿ÀÈ÷·Á ¿ªÈ¿°ú¸¦ ºÒ·¯¿À±âµµ ÇÑ´Ù. ÆÐÅÏÀÇ ¼ø¼öÇÑ ÀÌÁ¡À» ¿°ÅÇÏÀÚ¸é ´ÙÀ½°ú °°´Ù.
ÆÐÅÏÀº Àü¹®°¡ÀÇ »ý°¢À» Á¤¸®Çϰí, ±×°ÍÀ» ºñÀü¹®°¡°¡ ¹Þ¾ÆµéÀÏ ¼ö ÀÖµµ·Ï ¸¸µç´Ù.
ÆÐÅÏÀº Ãß»óÀûÀÎ °³³ä¿¡ ´ëÇÑ ¾îÈÖµéÀ» ¸¸µé¾î³»°í, °³¹ßÀڵ鳢¸® ÀÇ»ç¼ÒÅëÇÏ´Â µ¥ µµ¿òÀ» ÁØ´Ù.
ÀÓÀÇÀÇ ½Ã½ºÅÛÀÌ »ç¿ëÇÑ ÆÐÅÏ ¸ñ·ÏÀ» Ç¥½ÃÇØ ³õÀ¸¸é, ±× ½Ã½ºÅÛÀ» Á» ´õ »¡¸® ÀÌÇØÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
±âÁ¸ÀÇ ½Ã½ºÅÛÀÌ ÆÐÅÏÀ» »ç¿ëÇß°Ç »ç¿ëÇÏÁö ¾Ê¾Ò°Ç, ±× ½Ã½ºÅÛÀÇ ±¸Á¶¸¦ »õ·Î Àâ´Â ÀÏÀ» ½±°Ô ÇØÁØ´Ù.
5 ÆÐÅÏÀº ¼ÒÇÁÆ®¿þ¾î Àç»ç¿ë, ³ôÀº »ý»ê¼º, ¼¼°è ÆòÈ µîÀ» º¸ÀåÇÑ´Ù.
Patterns guarantee reusable software, higher productivity, world peace, etc.
ÆÐÅÏÀº ¾Æ¹« °Íµµ º¸ÀåÇÏÁö ¾Ê´Â´Ù. ÆÐÅÏÀ» »ç¶÷À» âÁ¶ÀûÀÎ ÀϷκÎÅÍ ÇØ¹æµÉ ¼ö ÀÖµµ·Ï ¸¸µé¾îÁÖ´Â °ÍÀÌ ¾Æ´Ï´Ù. »ç½Ç ÆÐÅÏÀº º°·Î °æÇè¾ø´Â »ç¶÷µé¿¡°Ô´Â °ÅÀÇ µµ¿òÀ» ÁÖÁö ¸øÇÑ´Ù.
ÁÁÀº ÆÐÅÏÀº óÀ½ º¸¾ÒÀ» ¶§, "¾ÆÇÏ~!"ÇÏ´Â ¹ÝÀÀÀ» À̲ø¾î³¾ ¼ö ÀÖ´Â °ÍÀ̶ó°í ÇÑ´Ù. À̰ÍÀº ÆÐÅÏÀ» º» »ç¶÷ÀÌ ¸¶À½¿¡ µÎ°í ÀÖ´ø °Í°ú ÆÐÅÏÀÌ ÀÏÄ¡ÇÒ ¶§¸¸ ÀϾ´Â ¹ÝÀÀÀÌ´Ù. ÀÌ·± ¹ÝÀÀÀÌ ÀϾÁö ¾ÊÀº °æ¿ì, ÆÐÅÏÀº ´ëºÎºÐ ÀØÇôÁö±â ¸¶·ÃÀÌ´Ù. ÆÐÅÏ ÀÚü°¡ ¾Æ¹«¸® Àß ¾²¿©Áø °ÍÀÌ¶óµµ ±×°ÍÀ» º¸´Â »ç¶÷ÀÇ ¸¶À½¿¡ °ø¸íÀ» ÀÏÀ¸Å°Áö ¸øÇÑ´Ù¸é, ¾Æ¹« ¼Ò¿ëÀÌ ¾ø´Ù.
ÆÐÅÏÀº °³¹ßÀÚ°¡ °¡Áú ¼ö ÀÖ´Â µµ±¸ÀÇ ÇϳªÀÏ »ÓÀÌ´Ù. µµ±¸¸¦ µµ±¸·Î ¿©±âÁö ¾Ê°í, ¸ñÀûÀ¸·Î ¿©±ä´Ù¸é ¿ÀÈ÷·Á ÇØ°¡ µÉ »ÓÀÌ´Ù.
6 ÆÐÅÏÀº ÀüüÀûÀÎ ¾ÆÅ°ÅØÃĸ¦ »ý¼ºÇÑ´Ù.
Patterns generate whole architectures.
À§¿¡¼µµ ¸»ÇßµíÀÌ ÆÐÅÏÀº µµ±¸·Î¼ÀÇ °¡Ä¡¸¦ Áö´Ò »Ó, âÁ¶ÀûÀÎ ÀÏ¿¡ Á÷Á¢ Âü¿©ÇÏÁö ¾Ê´Â´Ù. ¾ÆÅ°ÅØÃĸ¦ »ý¼ºÇÒ ¶§µµ ¾îµð±îÁö³ª ÁÖ(ñ«)´Â »ç¶÷ÀÌ´Ù. ÀÌ °úÁ¤¿¡¼ ÆÐÅÏÀÌ µµ¿ÍÁÖ´Â °ÍÀº ±×°ÍÀÌ Áö´Ñ ±³ÈÆ(teaching)ÀÌ´Ù. °Ô´Ù°¡ ÆÐÅÏÀÌ ÀüüÀûÀÎ ½Ã½ºÅÛÀ» ¼³¸íÇÒ ¼ö ÀÖ´Â °Íµµ ¾Æ´Ï´Ù. º¹ÀâÇÑ ½Ã½ºÅÛÀº ¼ö½Ê, ¼ö¹é °¡ÁöÀÇ ÆÐÅϰú ÇÔ²², ÆÐÅϰú °ü·ÃµÇÁö ¾ÊÀº µðÀÚÀÎ ¹®Á¦µéÀ» Áö´Ï°í ÀÖ´Ù. ÀÌ ÆÐÅϰú °ü·ÃµÇÁö ¾ÊÀº ºÎºÐµéÀ» ä¿ö³Ö¾î Àüü ¾ÆÅ°ÅØÃĸ¦ ¿Ï¼ºÇÏ´Â °ÍÀº ¾îµð±îÁö³ª »ç¶÷ÀÌ´Ù.
7 ÆÐÅÏÀº (°´Ã¼ ÁöÇâÀÇ) µðÀÚÀΰú ±¸ÇöÀ» À§ÇÑ °ÍÀÌ´Ù.
Patterns are for (object-oriented) design or implementation.
ÆÐÅÏÀº °á±¹ Àü¹®°¡ÀÇ °æÇè°ú »ý°¢À» Á¤¸®ÇسõÀº °ÍÀÌ´Ù. ÀÌ·± °æÇè°ú »ý°¢µéÀÌ µðÀÚÀÎÀ̳ª ±¸Çö¿¡¸¸ ±¹ÇÑµÉ ¸®°¡ ¾ø´Ù. ºÐ¼®, À¯Áöº¸¼ö, Å×½ºÆÃ, ¹®¼È, Á¶Á÷ ±¸Á¶ µîµî ¾ó¸¶µçÁö È®ÀåµÉ ¼ö ÀÖ´Â °ÍÀÌ´Ù. »ç½Ç ´Ù¸¥ ºÐ¾ß¿¡ °üÇÑ ÆÐÅϵ鵵 ÀÌ¹Ì ³ª¿ÍÀÖ´Â »óÅÂÀÌ´Ù.
8 ÆÐÅÏÀÌ µµ¿òÀÌ µÈ´Ù´Â Áõ°Å°¡ ¾ø´Ù.
There's no evidence that patterns help anybody.
µµ¿òÀÌ µÇ¾ú´Ù´Â ¸î¸î ÄÉÀ̽º°¡ ÀÖÁö¸¸, ¼öÄ¡ÈµÈ µ¥ÀÌÅÍ´Â ¾ø´Â °Ô »ç½ÇÀÌ´Ù. ÇÏÁö¸¸ À̰ÍÀº ½Ã°£ÀÌ Áö³ª¸é¼ ¹àÇôÁú °ÍÀÌ´Ù. ´ÜÁö ¼öÄ¡·Î ³ªÅ¸³ª´Â À̵æÀÌ ¾ø´Ù°í ÇØ¼ ÆÐÅÏÀ» °ÅºÎÇÏ´Â °ÍÀº ¹Ùº¸ °°Àº ÁþÀÌ´Ù.
9 ÆÐÅÏÀ» »ç¿ëÇÏ´Â »ç¶÷µéÀº ¹èŸÀûÀÎ ¿¤¸®Æ®µéÀÌ´Ù.
The pattern community is a clique of elites.
ÀÌ ºÎºÐÀº Ã¥ÀÌ ¿À·¡µÇ¾î¼ ±×·±Áö, ÀÌÁ¦´Â Àǹ̰¡ Åð»öÇØ ¹ö·È´Ù°í »ý°¢ÇÑ´Ù.
10 ÆÐÅÏÀ» »ç¿ëÇÏ´Â »ç¶÷µéÀº ÀÚ±â Àß³ ¸À¿¡ »ê´Ù.
The pattern community is self-serving, even conspiratorial.
¹Ù·Î À§ÀÇ »çÇ×°ú ¸¶Âù°¡Áö´Ù.
see also
DesignPattern
CategoryDesign
FindPage
by browsing, title search
, text search
or an index
Or try one of these actions:
AttachFile
,
DeletePage
,
LikePages
,
LocalSiteMap
,
RenamePage
,
SpellCheck
SeriousMoin
v1 (
koMoinMoin
1.0a4 Modified)