--- id: P-REINFORCE-AI-048 category: "10_Wiki/πŸ’‘ Topics/Software Architecture" confidence_score: 0.99 tags: [ddd, bounded context, domain modeling, software architecture] last_reinforced: 2026-06-XX github_commit: "[P-Reinforce] Processed Domain-Driven Design (DDD)." --- # [[Domain-Driven Design (DDD)|Domain-Driven Design (DDD)]] (도메인 주도 섀계) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > μ†Œν”„νŠΈμ›¨μ–΄μ˜ λ³΅μž‘μ„±μ„ κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄, λΉ„μ¦ˆλ‹ˆμŠ€ λ„λ©”μΈμ˜ 핡심 κ°œλ…(Ubiquitous Language)을 μ€‘μ‹¬μœΌλ‘œ μ‹œμŠ€ν…œ 경계(Bounded Context)λ₯Ό μ„€μ •ν•˜κ³  λͺ¨λΈλ§ν•˜λŠ” μ ‘κ·Ό 방식이닀. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **핡심 λͺ©ν‘œ:** 기술적 κ΅¬ν˜„μ— μ•žμ„œ '도메인 μ „λ¬Έκ°€μ˜ μ–Έμ–΄'κ°€ μ†Œν”„νŠΈμ›¨μ–΄μ˜ 섀계 원칙이 λ˜λ„λ‘ κ°•μ œν•¨μœΌλ‘œμ¨, κ°œλ°œμžκ°€ λ„λ©”μΈμ˜ λ³Έμ§ˆμ„ λ†“μΉ˜μ§€ μ•Šκ²Œ ν•˜λŠ” 것이 λͺ©μ μ΄λ‹€. - **μ£Όμš” κ°œλ…:** 1. **μœ λΉ„μΏΌν„°μŠ€ μ–Έμ–΄ (Ubiquitous Language):** λΉ„μ¦ˆλ‹ˆμŠ€ μ‚¬μš©μžμ™€ 개발자 λͺ¨λ‘κ°€ 같은 단어λ₯Ό μ‚¬μš©ν•˜λ©° μ˜€ν•΄μ˜ μ†Œμ§€λ₯Ό μ—†μ• λŠ” 곡톡 μ–Έμ–΄. μ΄λŠ” μ½”λ”©κ³Ό λ¬Έμ„œν™”μ— μΌκ΄€λ˜κ²Œ λ°˜μ˜λ˜μ–΄μ•Ό ν•œλ‹€. 2. **λ°”μš΄λ””λ“œ μ»¨ν…μŠ€νŠΈ (Bounded Context, BC):** ν•˜λ‚˜μ˜ κ°œλ…(예: 'μ‚¬μš©μž')이 μ‹œμŠ€ν…œ λ‚΄μ—μ„œ λ‹€λ₯΄κ²Œ μ •μ˜λ  수 μžˆμŒμ„ μΈμ§€ν•˜κ³ , 각 λΉ„μ¦ˆλ‹ˆμŠ€ μ˜μ—­λ³„λ‘œ 경계λ₯Ό μ„€μ •ν•œλ‹€. (Context-Mapping). 3. **μ• κ·Έλ¦¬κ²Œμ΄νŠΈ (Aggregate):** νŠΈλžœμž­μ…˜μ˜ 일관성을 보μž₯ν•˜λŠ” 데이터 λ‹¨μœ„. μ• κ·Έλ¦¬κ²Œμ΄νŠΈ 루트(Aggregate Root)λ₯Ό 톡해 λ‚΄λΆ€ κ°μ²΄λ“€μ˜ 변경을 μ œμ–΄ν•˜λ©°, λ°μ΄ν„°λ² μ΄μŠ€ λ ˆλ²¨μ—μ„œ 무결성을 μœ μ§€ν•œλ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** DDDκ°€ λͺ¨λ“  λ¬Έμ œμ— λŒ€ν•œ 해결책은 μ•„λ‹ˆλ©°, 도메인이 λͺ…ν™•ν•˜μ§€ μ•Šμ€ 초기 λ‹¨κ³„μ—μ„œλŠ” 였히렀 μ˜€λ²„ μ—”μ§€λ‹ˆμ–΄λ§(Over-engineering)을 μ΄ˆλž˜ν•  수 μžˆλ‹€. μš°μ„ μ μœΌλ‘œ κ°€μž₯ λ³΅μž‘ν•˜κ³  μ€‘μš”ν•œ 핡심 μ˜μ—­λΆ€ν„° μ μš©ν•˜λŠ” μ „λž΅μ΄ ν•„μš”ν•˜λ‹€. - **μ •μ±… λ³€ν™”:** λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜μ™€ 맀우 높은 μ‹œλ„ˆμ§€λ₯Ό λ‚΄λ©°, 각 μ„œλΉ„μŠ€κ°€ ν•˜λ‚˜μ˜ Bounded Contextλ₯Ό λ‹΄λ‹Ήν•˜λ„λ‘ 경계λ₯Ό μ„€μ •ν•˜λŠ” 것이 μΌλ°˜μ μ΄λ‹€. ## πŸ”— 지식 μ—°κ²° (Graph) - Parent: [[Microservices-Architecture|Microservices-Architecture]] - Related: [[Bounded Contexts|Bounded Contexts]] , [[α„‡α…©α„‘α…§α†«α„Œα…₯ᆨ α„‹α…₯ᆫᄋα…₯ (Ubiquitous Language)|Ubiquitous Language]] , Aggregate Root - Raw Source: 00_Raw/Domain-Driven Design (DDD).md ---