[Design Pattern] DDD(๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„)๋ž€?

DDD(Domain-Driven Design)๋ž€? ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ์„ค๊ณ„ ๋ฐฉ๋ฒ•๋ก ์ธ ๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„๋Š” ๋„๋ฉ”์ธ ํŒจํ„ด์„ ์ค‘์‹ฌ์— ๋†“๊ณ  ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋„๋ฉ”์ธ์„ ์ค‘์‹ฌ์œผ๋กœ ์„ค๊ณ„ํ•ด ๋‚˜๊ฐ€๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. DDD๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋„๋ฉ”์ธ๋ณ„๋กœ ๋‚˜๋ˆ„์–ด ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ์‹ ๋‹จ์ˆœํžˆ ๊ธฐ์ˆ ์ ์ธ ์‚ฌํ•ญ๋งŒ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ์‹ค์ œ ๋„๋ฉ”์ธ์ธ ์š”๊ตฌ ์‚ฌํ•ญ์— ์ค‘์‹ฌ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์˜ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ์„ค๊ณ„ ๋„๋ฉ”์ธ์ด๋ž€? ์‹ค์ œ ์„ธ๊ณ„์—์„œ ์‚ฌ๊ฑด์ด ๋ฐœ์ƒํ•˜๋Š” ์ง‘ํ•ฉ์œผ๋กœ DDD์—์„œ ๋งํ•˜๋Š” ๋„๋ฉ”์ธ์€ ๋น„์ฆˆ๋‹ˆ์Šค ๋„๋ฉ”์ธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‡ผํ•‘๋ชฐ์—์„  ์ด์šฉ์ž๋“ค์ธ ๊ณ ๊ฐ ๋„๋ฉ”์ธ, ์†๋‹˜๋“ค์ด ์ฃผ๋ฌธํ•˜๋Š” ๋„๋ฉ”์ธ ๋“ฑ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋น„์ฆˆ๋‹ˆ์Šค ๋„๋ฉ”์ธ์€ ์œ ์‚ฌํ•œ ์—…๋ฌด์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์•ž์„œ DDD๋Š” ์ด๋Ÿฌํ•œ ๋น„์ฆˆ๋‹ˆ์ฆˆ ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ๊นŠ์€ ์ดํ•ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ..

CS/Design Pattern 2022. 10. 26. 17:36