- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > ÇÁ·Î±×·¡¹Ö/¾ð¾î > °´Ã¼ ÁöÇâ°ú µðÀÚÀÎ ÆÐÅÏ[ÀÎÅõºÏ½º]
°³¹ßÀÚ°¡ ¹Ýµå½Ã Á¤º¹ÇØ¾ß ÇÒ ¡º°´Ã¼ ÁöÇâ°ú µðÀÚÀÎ ÆÐÅÏ¡». ÀÚ¹Ù³ª C#°ú °°Àº °´Ã¼ ÁöÇâ ¾ð¾î´Â ÀÍÇûÁö¸¸ °´Ã¼ ÁöÇâ ÀÚü¿¡ ´ëÇÑ ÀÌÇØ°¡ ºÎÁ·ÇÑ °³¹ßÀÚ¸¦ À§ÇØ °¡´ÉÇÑ º¹ÀâÇÏÁö ¾ÊÀº ¿¹Á¦¸¦ ÀÌ¿ëÇØ °´Ã¼ ÁöÇâÀÇ ¿ø¸®, ¿øÄ¢, ÆÐÅÏ µîÀ» ¼³¸íÇÑ Ã¥ÀÌ´Ù. °³¹ß °æÇèÀº ¸¹Áö¸¸ °´Ã¼ ÁöÇâ¿¡ ´ëÇÑ Àü¹ÝÀû ÀÌÇØ°¡ ÇÊ¿äÇÑ Áß±Þ °³¹ßÀÚ, °´Ã¼ ÁöÇâ Áö½ÄÀ» ÈĹèµé¿¡°Ô Àü´ÞÇÏ°í ½ÍÀº ¼±¹è °³¹ßÀڵ鿡°Ô µµ¿òÀ» ÁØ´Ù.
ÀúÀÚ: ÃÖ¹ü±Õ (ÁöÀºÀÌ)
Part 01 °´Ã¼ÁöÇâ
Chapter 01 µé¾î°¡±â
1. ÁöÀúºÐÇØÁö´Â ÄÚµå
2. ¼öÁ¤Çϱâ ÁÁÀº ±¸Á¶¸¦ °¡Áø ÄÚµå
3. ¼ÒÇÁÆ®¿þ¾îÀÇ °¡Ä¡
Chapter 02 °´Ã¼ ÁöÇâ
1. ÀýÂ÷ ÁöÇâ°ú °´Ã¼ ÁöÇâ
1.1 ÀýÂ÷ ÁöÇâ
1.2 °´Ã¼ ÁöÇâ
2. °´Ã¼(Object)
2.1 °´Ã¼ÀÇ ÇÙ½ÉÀº ±â´ÉÀ» Á¦°øÇÏ´Â °Í
2.2 ÀÎÅÍÆäÀ̽º¿Í Ŭ·¡½º
2.3 ¸Þ½ÃÁö
3. °´Ã¼ÀÇ Ã¥ÀÓ°ú Å©±â
4. ÀÇÁ¸
4.1 ÀÇÁ¸ÀÇ ¾ç¸é¼º
5. ĸ½¶È
5.1 ÀýÂ÷ ÁöÇâ ¹æ½Ä ÄÚµå
5.2 ĸ½¶È µÈ ±â´É ±¸Çö
5.3 ĸ½¶ÈÀÇ °á°ú´Â ³»ºÎ ±¸Çö º¯°æÀÇ À¯¿¬¼º ȹµæ
5.4 ĸ½¶È¸¦ À§ÇÑ µÎ °³ÀÇ ±ÔÄ¢
6. °´Ã¼ ÁöÇâ ¼³°è °úÁ¤
Chapter 03 ´ÙÇü¼º°ú Ãß»ó ŸÀÔ
1. »ó¼Ó °³¿ä
2. ´ÙÇü¼º°ú »ó¼Ó
2.1 ÀÎÅÍÆäÀ̽º »ó¼Ó°ú ±¸Çö »ó¼Ó
3. Ãß»ó ŸÀÔ°ú À¯¿¬ÇÔ
3.1 Ãß»ó ŸÀÔ°ú ½ÇÁ¦ ±¸ÇöÀÇ ¿¬°á
3.2 Ãß»ó ŸÀÔÀ» ÀÌ¿ëÇÑ ±¸Çö ±³Ã¼ÀÇ À¯¿¬ÇÔ
3.3 º¯ÈµÇ´Â ºÎºÐÀ» Ãß»óÈÇϱâ
3.4 ÀÎÅÍÆäÀ̽º¿¡ ´ë°í ÇÁ·Î±×·¡¹ÖÇϱâ
3.5 ÀÎÅÍÆäÀ̽º´Â ÀÎÅÍÆäÀ̽º »ç¿ëÀÚ ÀÔÀå¿¡¼ ¸¸µé±â
3.6 ÀÎÅÍÆäÀ̽º¿Í Å×½ºÆ®
Chapter 04 Àç»ç¿ë: »ó¼Óº¸´Ü Á¶¸³
1. »ó¼Ó°ú Àç»ç¿ë
1.1 »ó¼ÓÀ» ÅëÇÑ Àç»ç¿ëÀÇ ´ÜÁ¡ 1, »óÀ§ Ŭ·¡½º º¯°æÀÇ ¾î·Á¿ò
1.2 »ó¼ÓÀ» ÅëÇÑ Àç»ç¿ëÀÇ ´ÜÁ¡ 2, Ŭ·¡½ºÀÇ ºÒÇÊ¿äÇÑ Áõ°¡
1.3 »ó¼ÓÀ» ÅëÇÑ Àç»ç¿ëÀÇ ´ÜÁ¡ 3, »ó¼ÓÀÇ ¿À¿ë
2. Á¶¸³À» ÀÌ¿ëÇÑ Àç»ç¿ë
2.1 À§ÀÓ
2.2 »ó¼ÓÀº ¾ðÁ¦ »ç¿ëÇϳª?
Part 02 ¼³°è ¿øÄ¢ / DI¿Í ¼ºñ½º ·ÎÄÉÀÌÅÍ
Chapter 05 ¼³°è ¿øÄ¢: SOLID
1. ´ÜÀÏ Ã¥ÀÓ ¿øÄ¢(Single responsibility principle)
1.1 ´ÜÀÏ Ã¥ÀÓ ¿øÄ¢ À§¹ÝÀÌ ºÒ·¯¿À´Â ¹®Á¦Á¡
1.2 Ã¥ÀÓÀ̶õ º¯È¿¡ ´ëÇÑ °Í
2. °³¹æ Æó¼â ¿øÄ¢(Open-closed principle)
2.1 °³¹æ Æó¼â ¿øÄ¢ÀÌ ±úÁú ¶§ÀÇ ÁÖ¿ä Áõ»ó
2.2 °³¹æ Æó¼â ¿øÄ¢Àº À¯¿¬ÇÔ¿¡ ´ëÇÑ °Í
3. ¸®½ºÄÚÇÁ ġȯ ¿øÄ¢(Liskov substitution principle)
3.1 ¸®½ºÄÚÇÁ ġȯ ¿øÄ¢À» ÁöÅ°Áö ¾ÊÀ» ¶§ÀÇ ¹®Á¦
3.2 ¸®½ºÄÚÇÁ ġȯ ¿øÄ¢Àº °è¾à°ú È®Àå¿¡ ´ëÇÑ °Í
4. ÀÎÅÍÆäÀ̽º ºÐ¸® ¿øÄ¢(Interface segregation principle)
4.1 ÀÎÅÍÆäÀ̽º º¯°æ°ú ±× ¿µÇâ
4.2 ÀÎÅÍÆäÀ̽º ºÐ¸® ¿øÄ¢
4.3 ÀÎÅÍÆäÀ̽º ºÐ¸® ¿øÄ¢Àº Ŭ¶óÀ̾ðÆ®¿¡ ´ëÇÑ °Í
5. ÀÇÁ¸ ¿ªÀü ¿øÄ¢(Dependency inversion principle)
5.1 °í¼öÁØ ¸ðµâÀÌ Àú¼öÁØ ¸ðµâ¿¡ ÀÇÁ¸ÇÒ ¶§ÀÇ ¹®Á¦
5.2 ÀÇÁ¸ ¿ªÀü ¿øÄ¢À» ÅëÇÑ º¯°æÀÇ À¯¿¬ÇÔ È®º¸
5.3 ¼Ò½º ÄÚµå ÀÇÁ¸°ú ·±Å¸ÀÓ ÀÇÁ¸
5.4 ÀÇÁ¸ ¿ªÀü ¿øÄ¢°ú ÆÐÅ°Áö
6. SOLID Á¤¸®
Chapter 06 DI(Dependency Injection)¿Í ¼ºñ½º ·ÎÄÉÀÌÅÍ
1. ¾îÇø®ÄÉÀÌ¼Ç ¿µ¿ª°ú ¸ÞÀÎ ¿µ¿ª
2. DI(Dependency Injection)À» ÀÌ¿ëÇÑ ÀÇÁ¸ °´Ã¼ »ç¿ë
2.1 »ý¼ºÀÚ ¹æ½Ä°ú ¼³Á¤ ¸Þ¼µå ¹æ½Ä
2.2 DI¿Í Å×½ºÆ®
2.3 ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© ¿¹
3. ¼ºñ½º ·ÎÄÉÀÌÅ͸¦ ÀÌ¿ëÇÑ ÀÇÁ¸ °´Ã¼ »ç¿ë
3.1 ¼ºñ½º ·ÎÄÉÀÌÅÍÀÇ ±¸Çö
3.2 ¼ºñ½º ·ÎÄÉÀÌÅÍÀÇ ´ÜÁ¡
Part 03 07 ÁÖ¿ä µðÀÚÀÎ ÆÐÅÏ
Chapter 07 ÁÖ¿ä µðÀÚÀÎ ÆÐÅÏ
1. µðÀÚÀÎ ÆÐÅÏÀ̶õ?
2. Àü·«(Strategy) ÆÐÅÏ
3. ÅÛÇø´ ¸Þ¼µå(Template Method) ÆÐÅÏ
3.1 »óÀ§ Ŭ·¡½º°¡ È帧 Á¦¾î ÁÖü
3.2 ÅÛÇø´ ¸Þ¼µå¿Í Àü·« ÆÐÅÏÀÇ Á¶ÇÕ
4. »óÅÂ(State) ÆÐÅÏ
4.1 »óÅ º¯°æÀº ´©°¡?
5. µ¥ÄÚ·¹ÀÌÅÍ(Decorator) ÆÐÅÏ
5.1 µ¥ÄÚ·¹ÀÌÅÍ ÆÐÅÏÀ» Àû¿ëÇÒ ¶§ °í·ÁÇÒ Á¡
6. ÇÁ·Ï½Ã(proxy) ÆÐÅÏ
6.1 ÇÁ·Ï½Ã ÆÐÅÏÀ» Àû¿ëÇÒ ¶§ °í·ÁÇÒ Á¡
7. ¾î´ðÅÍ(Adapter) ÆÐÅÏ
8. ¿ÉÀú¹ö(Observer) ÆÐÅÏ
8.1 ¿ÉÀú¹ö °´Ã¼¿¡°Ô »óÅ Àü´Þ ¹æ¹ý
8.2 ¿ÉÀú¹ö¿¡¼ ÁÖÁ¦ °´Ã¼ ±¸ºÐ
8.3 ¿ÉÀú¹ö ÆÐÅÏ ±¸ÇöÀÇ °í·Á »çÇ×
9. ¹Ìµð¿¡ÀÌÅÍ(Mediator) ÆÐÅÏ
9.1 Ãß»ó ¹Ìµð¿¡ÀÌÅÍ Å¬·¡½ºÀÇ Àç»ç¿ë
10. ÆÄ»çµå(Facade) ÆÐÅÏ
10.1 ÆÄ»çµå ÆÐÅÏÀÇ ÀåÁ¡°ú Ư¡
11. Ãß»ó ÆÑÅ丮(Abstract Factory) ÆÐÅÏ
12. ÄÄÆ÷ÁöÆ®(Composite) ÆÐÅÏ
12.1 ÄÄÆ÷ÁöÆ® ÆÐÅÏ ±¸ÇöÀÇ °í·Á »çÇ×
13. ³Î(Null) °´Ã¼ ÆÐÅÏ
Appendix A Ãßõ ÀÚ·á
Index
Chapter 01 µé¾î°¡±â
1. ÁöÀúºÐÇØÁö´Â ÄÚµå
2. ¼öÁ¤Çϱâ ÁÁÀº ±¸Á¶¸¦ °¡Áø ÄÚµå
3. ¼ÒÇÁÆ®¿þ¾îÀÇ °¡Ä¡
Chapter 02 °´Ã¼ ÁöÇâ
1. ÀýÂ÷ ÁöÇâ°ú °´Ã¼ ÁöÇâ
1.1 ÀýÂ÷ ÁöÇâ
1.2 °´Ã¼ ÁöÇâ
2. °´Ã¼(Object)
2.1 °´Ã¼ÀÇ ÇÙ½ÉÀº ±â´ÉÀ» Á¦°øÇÏ´Â °Í
2.2 ÀÎÅÍÆäÀ̽º¿Í Ŭ·¡½º
2.3 ¸Þ½ÃÁö
3. °´Ã¼ÀÇ Ã¥ÀÓ°ú Å©±â
4. ÀÇÁ¸
4.1 ÀÇÁ¸ÀÇ ¾ç¸é¼º
5. ĸ½¶È
5.1 ÀýÂ÷ ÁöÇâ ¹æ½Ä ÄÚµå
5.2 ĸ½¶È µÈ ±â´É ±¸Çö
5.3 ĸ½¶ÈÀÇ °á°ú´Â ³»ºÎ ±¸Çö º¯°æÀÇ À¯¿¬¼º ȹµæ
5.4 ĸ½¶È¸¦ À§ÇÑ µÎ °³ÀÇ ±ÔÄ¢
6. °´Ã¼ ÁöÇâ ¼³°è °úÁ¤
Chapter 03 ´ÙÇü¼º°ú Ãß»ó ŸÀÔ
1. »ó¼Ó °³¿ä
2. ´ÙÇü¼º°ú »ó¼Ó
2.1 ÀÎÅÍÆäÀ̽º »ó¼Ó°ú ±¸Çö »ó¼Ó
3. Ãß»ó ŸÀÔ°ú À¯¿¬ÇÔ
3.1 Ãß»ó ŸÀÔ°ú ½ÇÁ¦ ±¸ÇöÀÇ ¿¬°á
3.2 Ãß»ó ŸÀÔÀ» ÀÌ¿ëÇÑ ±¸Çö ±³Ã¼ÀÇ À¯¿¬ÇÔ
3.3 º¯ÈµÇ´Â ºÎºÐÀ» Ãß»óÈÇϱâ
3.4 ÀÎÅÍÆäÀ̽º¿¡ ´ë°í ÇÁ·Î±×·¡¹ÖÇϱâ
3.5 ÀÎÅÍÆäÀ̽º´Â ÀÎÅÍÆäÀ̽º »ç¿ëÀÚ ÀÔÀå¿¡¼ ¸¸µé±â
3.6 ÀÎÅÍÆäÀ̽º¿Í Å×½ºÆ®
Chapter 04 Àç»ç¿ë: »ó¼Óº¸´Ü Á¶¸³
1. »ó¼Ó°ú Àç»ç¿ë
1.1 »ó¼ÓÀ» ÅëÇÑ Àç»ç¿ëÀÇ ´ÜÁ¡ 1, »óÀ§ Ŭ·¡½º º¯°æÀÇ ¾î·Á¿ò
1.2 »ó¼ÓÀ» ÅëÇÑ Àç»ç¿ëÀÇ ´ÜÁ¡ 2, Ŭ·¡½ºÀÇ ºÒÇÊ¿äÇÑ Áõ°¡
1.3 »ó¼ÓÀ» ÅëÇÑ Àç»ç¿ëÀÇ ´ÜÁ¡ 3, »ó¼ÓÀÇ ¿À¿ë
2. Á¶¸³À» ÀÌ¿ëÇÑ Àç»ç¿ë
2.1 À§ÀÓ
2.2 »ó¼ÓÀº ¾ðÁ¦ »ç¿ëÇϳª?
Part 02 ¼³°è ¿øÄ¢ / DI¿Í ¼ºñ½º ·ÎÄÉÀÌÅÍ
Chapter 05 ¼³°è ¿øÄ¢: SOLID
1. ´ÜÀÏ Ã¥ÀÓ ¿øÄ¢(Single responsibility principle)
1.1 ´ÜÀÏ Ã¥ÀÓ ¿øÄ¢ À§¹ÝÀÌ ºÒ·¯¿À´Â ¹®Á¦Á¡
1.2 Ã¥ÀÓÀ̶õ º¯È¿¡ ´ëÇÑ °Í
2. °³¹æ Æó¼â ¿øÄ¢(Open-closed principle)
2.1 °³¹æ Æó¼â ¿øÄ¢ÀÌ ±úÁú ¶§ÀÇ ÁÖ¿ä Áõ»ó
2.2 °³¹æ Æó¼â ¿øÄ¢Àº À¯¿¬ÇÔ¿¡ ´ëÇÑ °Í
3. ¸®½ºÄÚÇÁ ġȯ ¿øÄ¢(Liskov substitution principle)
3.1 ¸®½ºÄÚÇÁ ġȯ ¿øÄ¢À» ÁöÅ°Áö ¾ÊÀ» ¶§ÀÇ ¹®Á¦
3.2 ¸®½ºÄÚÇÁ ġȯ ¿øÄ¢Àº °è¾à°ú È®Àå¿¡ ´ëÇÑ °Í
4. ÀÎÅÍÆäÀ̽º ºÐ¸® ¿øÄ¢(Interface segregation principle)
4.1 ÀÎÅÍÆäÀ̽º º¯°æ°ú ±× ¿µÇâ
4.2 ÀÎÅÍÆäÀ̽º ºÐ¸® ¿øÄ¢
4.3 ÀÎÅÍÆäÀ̽º ºÐ¸® ¿øÄ¢Àº Ŭ¶óÀ̾ðÆ®¿¡ ´ëÇÑ °Í
5. ÀÇÁ¸ ¿ªÀü ¿øÄ¢(Dependency inversion principle)
5.1 °í¼öÁØ ¸ðµâÀÌ Àú¼öÁØ ¸ðµâ¿¡ ÀÇÁ¸ÇÒ ¶§ÀÇ ¹®Á¦
5.2 ÀÇÁ¸ ¿ªÀü ¿øÄ¢À» ÅëÇÑ º¯°æÀÇ À¯¿¬ÇÔ È®º¸
5.3 ¼Ò½º ÄÚµå ÀÇÁ¸°ú ·±Å¸ÀÓ ÀÇÁ¸
5.4 ÀÇÁ¸ ¿ªÀü ¿øÄ¢°ú ÆÐÅ°Áö
6. SOLID Á¤¸®
Chapter 06 DI(Dependency Injection)¿Í ¼ºñ½º ·ÎÄÉÀÌÅÍ
1. ¾îÇø®ÄÉÀÌ¼Ç ¿µ¿ª°ú ¸ÞÀÎ ¿µ¿ª
2. DI(Dependency Injection)À» ÀÌ¿ëÇÑ ÀÇÁ¸ °´Ã¼ »ç¿ë
2.1 »ý¼ºÀÚ ¹æ½Ä°ú ¼³Á¤ ¸Þ¼µå ¹æ½Ä
2.2 DI¿Í Å×½ºÆ®
2.3 ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© ¿¹
3. ¼ºñ½º ·ÎÄÉÀÌÅ͸¦ ÀÌ¿ëÇÑ ÀÇÁ¸ °´Ã¼ »ç¿ë
3.1 ¼ºñ½º ·ÎÄÉÀÌÅÍÀÇ ±¸Çö
3.2 ¼ºñ½º ·ÎÄÉÀÌÅÍÀÇ ´ÜÁ¡
Part 03 07 ÁÖ¿ä µðÀÚÀÎ ÆÐÅÏ
Chapter 07 ÁÖ¿ä µðÀÚÀÎ ÆÐÅÏ
1. µðÀÚÀÎ ÆÐÅÏÀ̶õ?
2. Àü·«(Strategy) ÆÐÅÏ
3. ÅÛÇø´ ¸Þ¼µå(Template Method) ÆÐÅÏ
3.1 »óÀ§ Ŭ·¡½º°¡ È帧 Á¦¾î ÁÖü
3.2 ÅÛÇø´ ¸Þ¼µå¿Í Àü·« ÆÐÅÏÀÇ Á¶ÇÕ
4. »óÅÂ(State) ÆÐÅÏ
4.1 »óÅ º¯°æÀº ´©°¡?
5. µ¥ÄÚ·¹ÀÌÅÍ(Decorator) ÆÐÅÏ
5.1 µ¥ÄÚ·¹ÀÌÅÍ ÆÐÅÏÀ» Àû¿ëÇÒ ¶§ °í·ÁÇÒ Á¡
6. ÇÁ·Ï½Ã(proxy) ÆÐÅÏ
6.1 ÇÁ·Ï½Ã ÆÐÅÏÀ» Àû¿ëÇÒ ¶§ °í·ÁÇÒ Á¡
7. ¾î´ðÅÍ(Adapter) ÆÐÅÏ
8. ¿ÉÀú¹ö(Observer) ÆÐÅÏ
8.1 ¿ÉÀú¹ö °´Ã¼¿¡°Ô »óÅ Àü´Þ ¹æ¹ý
8.2 ¿ÉÀú¹ö¿¡¼ ÁÖÁ¦ °´Ã¼ ±¸ºÐ
8.3 ¿ÉÀú¹ö ÆÐÅÏ ±¸ÇöÀÇ °í·Á »çÇ×
9. ¹Ìµð¿¡ÀÌÅÍ(Mediator) ÆÐÅÏ
9.1 Ãß»ó ¹Ìµð¿¡ÀÌÅÍ Å¬·¡½ºÀÇ Àç»ç¿ë
10. ÆÄ»çµå(Facade) ÆÐÅÏ
10.1 ÆÄ»çµå ÆÐÅÏÀÇ ÀåÁ¡°ú Ư¡
11. Ãß»ó ÆÑÅ丮(Abstract Factory) ÆÐÅÏ
12. ÄÄÆ÷ÁöÆ®(Composite) ÆÐÅÏ
12.1 ÄÄÆ÷ÁöÆ® ÆÐÅÏ ±¸ÇöÀÇ °í·Á »çÇ×
13. ³Î(Null) °´Ã¼ ÆÐÅÏ
Appendix A Ãßõ ÀÚ·á
Index
¡á Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë
- °´Ã¼ ÁöÇâ (°´Ã¼, Ã¥ÀÓ, ÀÇÁ¸, ĸ½¶È)
- ´ÙÇü¼º°ú Ãß»óÈ
- »ó¼Óº¸´Ü Á¶¸³
- SOLID ¼³°è ¿øÄ¢
- DI¿Í ¼ºñ½º ·ÎÄÉÀÌÅÍ
- ÁÖ¿ä µðÀÚÀÎ ÆÐÅÏ
¡á º£Å¸ ¸®´õµéÀÇ ¼Æò
Ã¥ Àü¹Ý¿¡¼ »óȲ¿¡ µû¸¥ ÀûÀýÇÑ ¿¹°¡ ¸¹ÀÌ »ç¿ëµÇ°í ÀÖ¾î ÇÊÀÚÀÇ ´Ù¾çÇÑ °æÇèÀÌ ´À²¸Áö´Â °Í°ú µ¿½Ã¿¡ ¾Ë¸ÂÀº ºñÀ¯·Î °´Ã¼ ÁöÇâ¿¡ ´ëÇÑ ÀÌÇصµ¸¦ È®½ÇÈ÷ ³ô¿©Áִ å!
- ÀåÁø´Þ´Ô -
°´Ã¼ ÁöÇâÀÇ ÁÖ¿ä °³³äÀ» ¸íÈ®È÷ ¼³¸íÇϸ鼵µ, ±×¿¡ ´ëÇÑ ÀÌÇظ¦ ±×¸²À¸·Î µ½°í ÀÖ¾î ÃÊ±Þ °³¹ßÀÚµµ ÀÌ Ã¥À» ÅëÇØ Ã³À½ºÎÅÍ ±âº»±â¸¦...
´õº¸±â