¿äÁò ²ÈÇôÀÖ´Â DDD¿¡ ´ëÇØ ¸î ÀÚ Àû¾îº¸¾ÒÀ¾´Ï´Ù. £¨£Þ£ß?£©
1. µµ¸ÞÀÎ
¼ÒÇÁÆ®¿þ¾î¸¦ ±¸ÇöÇÒ ¶§ ÇØ°áÇϰíÀÚ ÇÏ´Â ¹®Á¦ ¿µ¿ª
2. °´Ã¼ÁöÇâ
¸ðµç µ¥ÀÌÅ͸¦ ¿ÀºêÁ§Æ®·Î Ãë±ÞÇÔ
ÇϳªÇϳªÀÇ ºÎǰÀ» ¸ð¾Æ ÄÄÇ»Å͸¦ Á¶¸³ÇÏ´Â °Íó·³ °´Ã¼¸¦ ¸ð¾Æ ÇϳªÀÇ ÇÁ·Î±×·¥ »ý¼º
3. µµ¸ÞÀÎ ÁÖµµ ¼³°è(DDD) : µµ¸ÞÀÎÀ» ¼ºñ½º º°·Î ºÐ¸®Ç϶ó


±âÁ¸ ¼ÒÇÁÆ®¿þ¾î ¼³°è ´Ü°è¸¦ º¸¸é µµ¸ÞÀÎÀ» ¼³Á¤ÇÏ°í µµ¸ÞÀÎÀ» Ãß»óÈÇÏ¿© ¸ðµ¨¸µÀ» ÇÕ´Ï´Ù.
¸ðµ¨¸µÀ» º¸°í ½ÇüÈÇÏ¸é ¼ÒÇÁÆ®¿þ¾î°¡ ±¸ÇöµË´Ï´Ù.
ÀÌ °úÁ¤¿¡´Â µµ¸ÞÀÎ Àü¹®°¡ÀÇ ÆÄÆ®¿Í °³¹ßÀÚÀÇ ÆÄÆ®°¡ ³ª´©¾îÁý´Ï´Ù.
µµ¸ÞÀÎ Àü¹®°¡´Â µµ¸ÞÀÎ~¸ðµ¨¸µ±îÁöÀÇ °úÁ¤À» ¼öÇàÇϰí, °³¹ßÀÚ´Â ¸ðµ¨¸µ~±¸Çö±îÁöÀÇ °úÁ¤À» ¼öÇàÇÏ°Ô µÇ´Âµ¥,
¼·ÎÀÇ ¼ÒÅë ¹æ½ÄÀÌ ´Ù¸£±â ¶§¹®¿¡ óÀ½ µµ¸ÞÀÎ Àü¹®°¡°¡ ±âȹÇÑ ¸ðµ¨¸µ Àǵµ¿Í´Â ´Ù¸¥ ¼ÒÇÁÆ®¿þ¾î·Î ±¸ÇöµÇ´Â °æ¿ì°¡ Á¾Á¾ ÀÖ½À´Ï´Ù.
À̰ÍÀ» ¿¹¹æÇϰíÀÚ ³ªÅ¸³ °³³äÀÌ ¹Ù·Î ¡®DDD¡¯ÀÔ´Ï´Ù.
DDD´Â µµ¸ÞÀÎ ¸ðµ¨ÀÇ Àû¿ë ¹üÀ§¸¦ ±¸Çö±îÁö È®Àå½ÃÄÑ µµ¸ÞÀÎ Áö½ÄÀ» ±¸Çö Äڵ忡 ¹Ù·Î Àû¿ëÇÏ¿© ÀÇ»ç¼ÒÅëÀÇ ºÒÀÏÄ¡¸¦ ¿¹¹æÇϰí
ÃßÈÄ À¯Áö º¸¼ö¿¡µµ È¿À²ÀûÀÔ´Ï´Ù.
¢¡ µµ¸ÞÀÎ Àü¹®°¡¿Í °³¹ßÀÚ°¡ ¼·Î ÀÌÇØÇÒ ¼ö ÀÖ´Â µ¿ÀÏÇÑ Ç¥Çö°ú ´Ü¾î·Î ±¸¼ºµÈ ´ÜÀÏÈµÈ ¾ð¾îü°è(À¯ºñÄõÅͽº ¾ð¾î)¸¦ ±¸ÃàÇÏ´Â °úÁ¤
¶ÇÇÑ µµ¸ÞÀÎ ÁÖµµ ¼³°è¸¦ Ȱ¿ëÇÏ¸é ¼ÒÇÁÆ®¿þ¾îÀÇ ºñÁî´Ï½º »ó ¿ì¼±¼øÀ§¿¡ µû¶ó
¼ºê µµ¸ÞÀÎÀ¸·Î ³ª´²¼ °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
* µµ¸ÞÀÎ ÁÖµµ ¼³°èÀÇ Æ¯Â¡
- Àü·«Àû ¼³°è : À¯Æ¼ÄõÅͽº ¾ð¾î¸¦ ÅëÇØ µµ¸ÞÀÎ Áö½ÄÀ» °øÀ¯Çϰí, À̸¦ ±âÁØÀ¸·Î ¹Ù¿îµðµå ÄÁÅØ½ºÆ®·Î Á¤ÀÇÇÑ ÈÄ ÄÁÅØ½ºÆ® ¸ÊÀ¸·Î Á¤ÀÇÇÏ´Â °Í
- Àü¼úÀû ¼³°è : Àü·«Àû ¼³°è¿¡¼ ¸¸µé¾îÁø ¹Ù¿îµðµå ÄÁÅØ½ºÆ®¿Í µµ¸ÞÀÎÀ¸·Î ¾Ö±×¸®°ÅÆ® ÆÐÅÏ, ¿£Æ¼Æ¼¿Í °ª °´Ã¼, ·¹Æ÷ÁöÅ丮 µîÀ» ±¸¼ºÇÏ´Â °Í
µµ¸ÞÀÎ ÁÖµµ ¼³°è ±â¹ýÀÌ Á¤ÀÇµÈ °ÍÀº 10³â ÀüÂëÀÌÁö¸¸, ±×µ¿¾È Å« °ü½ÉÀ» ¸ø ¹Þ´Ù°¡
Ãֱ٠Ŭ¶ó¿ìµå ȯ°æÀ¸·Î ÀüȯµÇ±â ½ÃÀÛÇÏ¸é¼ Å¬¶ó¿ìµå ¸¶ÀÌÅ©·Î¼ºñ½º ¾ÆÅ°ÅØÃ³¿¡ ÀûÇÕÇÑ
¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀ» À§ÇÑ ¼³°è ±â¹ýÀ¸·Î ´Ù½Ã ÁÖ¸ñ¹Þ°í ÀÖ½À´Ï´Ù.
4. ¸¶ÀÌÅ©·Î¼ºñ½º(Micro Service)

ÇϳªÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ°Ô Âɰ³¼ º¯°æ°ú Á¶ÇÕÀÌ ¿ëÀÌÇϵµ·Ï ¸¸µç ¾ÆÅ°ÅØÃ³
¸ð³î¸®½Ä ¾ÆÅ°ÅØÃ³ÀÇ °æ¿ì ¼ºñ½º ±Ô¸ð°¡ Ä¿Áö¸é¼ º¹Àâµµ°¡ Áõ°¡ÇÒ¼ö·Ï ÀÛÀº ¼ºñ½ºÀÇ Àå¾Ö°¡ Àüü ¼ºñ½º Àå¾Ö·Î È®´ëµÉ ¼öµµ ÀÖ°í,
ºÎºÐ ¼ºñ½º º¯°æ¿¡µµ ¾î·Á¿òÀÌ ¸¹±â ¶§¹®¿¡ ¸¶ÀÌÅ©·Î¼ºñ½º°¡ µîÀåÇÏ°Ô µÇ¾ú½À´Ï´Ù.
-
µ¶¸³ÀûÀÎ ´ÜÀ§ÀÇ ¼ºñ½º·Î Á¸ÀçÇϱ⠶§¹®¿¡ º¯°æÀÌ ¿ëÀÌ
-
ÇϳªÀÇ ¼ºñ¸¦ º¯°æÇÒ ¶§ÀÇ ¿µÇâ·ÂÀÌ ÀûÀ½
-
°³º° ´ÜÀ§ÀÇ ¼ºñ½º ¹èÆ÷ °¡´É
-
¹èÆ÷ ½Ã Àüü ¼ºñ½º Áß´Ü x
-
Àüü ¾ÖÇø®ÄÉÀÌ¼Ç ½ºÄÉÀÏ ¾Æ¿ôÀÌ ÇÊ¿ä ¾ø¾î¼ ºÒÇÊ¿äÇÑ ÀÚ¿øÀÇ ³¶ºñ¸¦ ÁÙÀÏ ¼ö ÀÖÀ½
´õ ÀÚ¼¼È÷ »ìÆìº¸°í ½Í´Ù¸é µµ¸ÞÀÎ ÁÖµµ ¼³°è¸¦ Á¤ÀÇÇÑ ¿¡¸¯¿¡¹Ý½ºÀÇ ¹®¼¸¦
¾Æ·¡ ¸µÅ©·Î ´Ù¿î·ÎµåÇØ º¼ ¼ö ÀÖ½À´Ï´Ù.
Domain Driven Design Quickly
Domain Driven Design is a vision and approach for designing a domain model that reflects a deep understanding of the business domain. This book is a short, quickly-readable summary and introduction to the fundamentals of DDD; it does not introduce any new concepts; it attempts to concisely summarize...
www.infoq.com
Âü°í
https://martinfowler.com/tags/domain%20driven%20design.html
https://huisam.tistory.com/entry/DDD
https://youtu.be/VIfNipL5KkU
https://aws.amazon.com/ko/microservices/
https://programmingpercy.tech/blog/how-to-domain-driven-design-ddd-golang/