--- id: DDD-MASTER-001 category: "10_Wiki/๐Ÿ’ก Topics/Software [[Architecture|Architecture]]" confidence_score: 1.0 tags: [architecture, ddd, strategic-design, tactical-design, ubiquitous-language] last_reinforced: 2026-04-26 --- # Domain-Driven Design (DDD, ๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„) ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > "๋ณต์žกํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์‹ฌ์žฅ์œผ๋กœ ๋งŒ๋“ค์–ด๋ผ" โ€” ๊ธฐ์ˆ ์  ๋ณต์žก์„ฑ๋ณด๋‹ค ๋น„์ฆˆ๋‹ˆ์Šค ๋„๋ฉ”์ธ์˜ ๋ณต์žก์„ฑ์„ ์šฐ์„ ์‹œํ•˜๋ฉฐ, ๊ฐœ๋ฐœ์ž์™€ ์ „๋ฌธ๊ฐ€๊ฐ€ ๋™์ผํ•œ ์–ธ์–ด(Ubiquitous Language)๋กœ ์†Œํ†ตํ•˜๋ฉฐ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก . ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **์ถ”์ถœ๋œ ํŒจํ„ด:** ๊ฑฐ๋Œ€ํ•œ ์‹œ์Šคํ…œ์„ ๋…๋ฆฝ์ ์ธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„ '๋ฐ”์šด๋””๋“œ ์ปจํ…์ŠคํŠธ(Bounded Context)'๋กœ ๋‚˜๋ˆ„๊ณ , ๊ทธ ๋‚ด๋ถ€๋ฅผ ํ•ต์‹ฌ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด. - **์ „๋žต์  ์„ค๊ณ„ (Strategic Design):** - **Ubiquitous Language:** ๊ฐœ๋ฐœ์ž, ๊ธฐํš์ž, ๋„๋ฉ”์ธ ์ „๋ฌธ๊ฐ€๊ฐ€ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋Š” ๊ณตํ†ต ์–ธ์–ด ์ •์˜. - **Bounded Context:** ํŠน์ • ๋ชจ๋ธ์ด ์ ์šฉ๋˜๋Š” ๋…ผ๋ฆฌ์ ์ธ ๊ฒฝ๊ณ„ ์„ค์ •. ์ปจํ…์ŠคํŠธ ๊ฐ„์˜ ๊ด€๊ณ„๋Š” Context Map์œผ๋กœ ์ •์˜. - **Core Domain:** ๋น„์ฆˆ๋‹ˆ์Šค์˜ ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ๊ฐ€์น˜๋ฅผ ์ฐฝ์ถœํ•˜๋Š” ์˜์—ญ์— ์ž์› ์ง‘์ค‘. - **์ „์ˆ ์  ์„ค๊ณ„ (Tactical Design):** - **Entity & Value Object:** ์‹๋ณ„์ž ๊ธฐ๋ฐ˜์˜ ๊ฐ์ฒด์™€ ์†์„ฑ ๊ธฐ๋ฐ˜์˜ ๊ฐ’ ๊ฐ์ฒด ๊ตฌ๋ถ„. - **Aggregate:** ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์˜ ๋‹จ์œ„๋กœ ๋ฌถ์ธ ๊ฐ์ฒด๋“ค์˜ ์ง‘ํ•ฉ. Root ์—”ํ‹ฐํ‹ฐ๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ ‘๊ทผ. - **[[Repository|Repository]]:** ๋„๋ฉ”์ธ ๊ฐ์ฒด์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์ €์žฅ์†Œ ์ถ”์ƒํ™” ์ œ๊ณต. - **Domain Service:** ํŠน์ • ์—”ํ‹ฐํ‹ฐ์— ์†ํ•˜๊ธฐ ์–ด๋ ค์šด ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ฒ˜๋ฆฌ. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๊ณผ๊ฑฐ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ค‘์‹ฌ ์„ค๊ณ„(ERD ์ค‘์‹ฌ)์—์„œ ํ–‰์œ„์™€ ๋„๋ฉ”์ธ ๋กœ์ง ์ค‘์‹ฌ์˜ ์„ค๊ณ„๋กœ ์ „ํ™˜. - **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” '์ง€์‹ ๊ด€๋ฆฌ', '๊ฒŒ์ž„ ์—”์ง„', '๋ฐ์ดํ„ฐ ์ˆ˜์ง‘'์„ ๊ฐ๊ฐ์˜ Bounded Context๋กœ ๋ถ„๋ฆฌํ•˜๊ณ , ์ปจํ…์ŠคํŠธ ๊ฐ„ ํ†ต์‹ ์€ ๋ฉ”์‹œ์ง€ ํ๋ฅผ ํ†ตํ•œ ๋น„๋™๊ธฐ ๋ฐฉ์‹์„ ์ง€ํ–ฅํ•จ. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Parent:** 10_Wiki/๐Ÿ’ก Topics/Software Architecture - **Related:** Bounded-Context, Microservices, Clean-Architecture, Event-Sourcing - **Merged Sources:** - 10_Wiki/Topics/AI/Domain-Driven Design (DDD) in TypeScript.md - 10_Wiki/Topics/AI/Domain-Driven Design (DDD) Type Safety.md - 10_Wiki/Topics/AI/แ„ƒแ…ฉแ„†แ…ฆแ„‹แ…ตแ†ซ แ„Œแ…ฎแ„ƒแ…ฉ แ„‰แ…ฅแ†ฏแ„€แ…จ (Domain-Driven Design DDD).md - 10_Wiki/Topics/[[Frontend|Frontend]]_[[Mastery|Mastery]]/Domain-Driven Design (DDD).md