Files
2nd/10_Wiki/Topics_GD/Domain-Driven-Design-DDD.md
T

30 lines
2.2 KiB
Markdown

---
id: DDD-001
category: "10_Wiki/💡 Topics/AI"
confidence_score: 1.0
tags: [software-[[Architecture|Architecture]], ddd, domain-driven-design, microservices, strategic-design]
last_reinforced: 2026-04-26
---
# Domain-Driven Design (DDD, 도메인 주도 설계)
## 📌 한 줄 통찰 (The Karpathy Summary)
> "기술적 구현보다 비즈니스의 본질(도메인)을 코드의 중심에 두어라" — 복잡한 소프트웨어 프로젝트에서 비즈니스 로직과 기술 인프라를 분리하고, 도메인 전문가와 개발자가 동일한 언어(Ubiquitous Language)를 사용하여 시스템을 설계하는 방법론.
## 📖 구조화된 지식 (Synthesized Content)
- **추출된 패턴:** 거대한 시스템을 의미 있는 경계(Bounded Context)로 나누고, 각 맥락 안에서 핵심 비즈니스 모델을 정교하게 구축하여 복잡성을 관리하는 전략적 설계 패턴.
- **핵심 요소:**
- **Ubiquitous Language:** 기획자와 개발자가 소통하는 공통의 용어 사전.
- **Bounded Context:** 모델이 적용되는 논리적인 경계. MSA의 기반이 됨.
- **Entity & Value Object:** 식별자가 중요한 객체와 속성값이 중요한 객체의 구분.
- **Aggregate:** 데이터 변경의 단위이자 캡슐화 경계.
- **Layered Architecture:** 도메인 로직을 표현 레이어나 인프라 레이어로부터 격리.
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 데이터베이스 테이블 중심의 설계에서, 비즈니스 행위([[Behavior|Behavior]]) 중심의 설계로 전환. 초기에는 중복 내용이 여러 파일에 흩어져 있었으나, Antigravity 지식 정비 과정을 통해 통합 마스터 문서로 정립됨.
- **정책 변화:** Antigravity 프로젝트는 에이전트의 스킬과 지식 카테고리를 설계할 때 DDD 원칙을 적용하여, 각 에이전트가 명확한 도메인 경계 내에서 자율성을 갖도록 구성함.
## 🔗 지식 연결 (Graph)
- [[Software-Architecture-Patterns|Software-Architecture-Patterns]], Microservices, [[Strategic-Thinking|Strategic-Thinking]],[[_system|system]]-Design-for-AI-Scale
- **Raw Source:** 10_Wiki/Topics/AI/Domain-Driven-Design-DDD.md