feat: Wiki 지식 자산 업데이트 - UX Scenarios, Frontend, Game Design, Topics 추가 [2026-05-08]
This commit is contained in:
@@ -1,17 +1,20 @@
|
||||
---
|
||||
id: "wiki-2026-0507-101"
|
||||
title: "도메인_주도_설계(DDD)_및_소프트웨어_아키텍처"
|
||||
category: "[[10_Wiki/Topics]]"
|
||||
status: "verified"
|
||||
canonical_id: "self"
|
||||
aliases: ["DDD", "Domain-Driven Design", "Clean Architecture", "Hexagonal Architecture", "Onion Architecture", "Software Architecture", "Microservices", "CQRS", "도메인 주도 설계", "클린 아키텍처", "육각형 아키텍처"]
|
||||
duplicate_of: "none"
|
||||
source_trust_level: "A"
|
||||
id: wiki-2026-0507-101
|
||||
title: 도메인 주도 설계(DDD) 및 소프트웨어 아키텍처
|
||||
category: 10_Wiki/Topics
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: [wiki-2026-0507-101, DDD, Domain-Driven Design, Clean Architecture, Hexagonal Architecture, Onion Architecture, Software Architecture, Microservices, CQRS, Layered Architecture, Microkernel, Space-based Architecture, 도메인 주도 설계, 클린 아키텍처, 아키텍처 패턴]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 1.0
|
||||
tags: ["Architecture", "DDD", "Clean Architecture", "Backend", "System Design", "Software Engineering"]
|
||||
raw_sources: ["Clean Architecture.md", "Hexagonal Architecture.md", "Microservices_Architecture.md", "DDD_Aggregates.md", "CQRS_Pattern.md"]
|
||||
last_reinforced: "2026-05-07"
|
||||
github_commit: "pending"
|
||||
tags: [Architecture, DDD, Clean Architecture, Backend, System Design, Software Engineering, DistributedSystems]
|
||||
raw_sources: [Software_Architecture_Patterns.md, Clean Architecture.md, Hexagonal Architecture.md, Microservices_Architecture.md, DDD_Aggregates.md, Space-based-Architecture.md]
|
||||
last_reinforced: 2026-05-08
|
||||
github_commit: pending
|
||||
tech_stack:
|
||||
language: unspecified
|
||||
framework: unspecified
|
||||
---
|
||||
|
||||
# 도메인_주도_설계(DDD)_및_소프트웨어_아키텍처
|
||||
@@ -22,7 +25,6 @@ github_commit: "pending"
|
||||
---
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
|
||||
**추출된 패턴:**
|
||||
> 현대 소프트웨어 아키텍처는 **'관심사의 분리(SoC)'**와 **'의존성 역전(DIP)'**을 통해 비즈니스 핵심(Brain)과 기술적 세부사항(Limbs)을 분리한다. 클린/육각형/양파 아키텍처는 모두 도메인을 최중심에 두고 의존성이 안쪽으로만 향하게 함으로써 기술 스택의 교체가 비즈니스 로직에 영향을 주지 않도록 설계된다.
|
||||
|
||||
@@ -47,14 +49,20 @@ github_commit: "pending"
|
||||
- **CQRS (Command Query Responsibility Segregation):**
|
||||
- 시스템의 상태를 변경하는 '명령(Command)'과 정보를 조회하는 '조회(Query)'의 모델을 분리하여 각각의 성능과 확장성을 최적화.
|
||||
|
||||
### 3. 마이크로서비스 (MSA)와 거시적 설계
|
||||
- **거시 아키텍처 (Macro):** 서비스 간의 통신(이벤트 브로커, API 게이트웨이), 장애 전파 방지(Circuit Breaker), 분산 트랜잭션 처리(Saga Pattern).
|
||||
- **미시 아키텍처 (Micro):** 각 마이크로서비스 내부를 클린/육각형 아키텍처로 구성하여 서비스 간 결합도를 낮추고 독립적 배포 가능성 확보.
|
||||
### 3. 주요 아키텍처 패턴 유형
|
||||
- **고전적 패턴 (Classic Patterns):**
|
||||
- **계층형 (Layered/N-tier):** 역할을 수평으로 분리(UI-Business-Data)하여 구조가 단순하고 이해하기 쉬움.
|
||||
- **마이크로커널 (Microkernel/Plugin):** 핵심 코어에 기능을 추가/제거할 수 있는 플러그인 구조. 시스템의 확장성과 유연성 극대화.
|
||||
- **분산 및 고성능 패턴:**
|
||||
- **이벤트 기반 (Event-driven):** 비동기 이벤트를 통해 컴포넌트 간 느슨한 결합과 높은 확장성 제공.
|
||||
- **스페이스 기반 (Space-based):** 중앙 DB의 병목을 해결하기 위해 공유 메모리(Tuple Space)를 활용한 분산 처리 아키텍처.
|
||||
- **마이크로서비스 (MSA)와 거시적 설계:**
|
||||
- **거시 아키텍처 (Macro):** 서비스 간 통신(API Gateway), 장애 전파 방지(Circuit Breaker), 분산 트랜잭션(Saga).
|
||||
- **미시 아키텍처 (Micro):** 각 서비스 내부를 클린/육각형 아키텍처로 구성하여 독립성 확보.
|
||||
|
||||
---
|
||||
|
||||
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
|
||||
|
||||
**언제 이 지식을 쓰는가:**
|
||||
- 대규모 엔터프라이즈 시스템의 초기 뼈대를 설계하거나 복잡한 레거시 시스템을 리팩토링할 때.
|
||||
- 비즈니스 로직이 매우 복잡하여(예: 뱅킹, 물류, 헬스케어) 기술적 노이즈를 제거하고 순수 도메인 로직만 테스트하고 싶을 때.
|
||||
@@ -78,7 +86,6 @@ github_commit: "pending"
|
||||
---
|
||||
|
||||
## 🧪 검증 상태 (Validation)
|
||||
|
||||
- **정보 상태:** verified
|
||||
- **출처 신뢰도:** A (로버트 마틴, 에릭 에반스 등 권위 있는 소스 기반)
|
||||
- **검토 이유:** 120개 이상의 파편화된 아키텍처 문서를 통합하여 전사적 표준으로 수립함.
|
||||
@@ -86,7 +93,6 @@ github_commit: "pending"
|
||||
---
|
||||
|
||||
## 🧬 중복 검사 (Duplicate Check)
|
||||
|
||||
- **기존 유사 문서:** [[Architecture]], [[Clean Architecture]], [[Hexagonal Architecture]], [[DDD]], [[CQRS_Pattern]], [[Layered Architecture]] 등 120여 개
|
||||
- **처리 방식:** MERGE & ARCHIVE
|
||||
- **처리 이유:** 개별 아키텍처 패턴들이 서로 다른 이름으로 산재해 있으나, 핵심 철학(도메인 중심, 의존성 제어)이 일치하므로 이를 하나의 고밀도 지식 체계로 통합함.
|
||||
@@ -94,14 +100,12 @@ github_commit: "pending"
|
||||
---
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
|
||||
|
||||
- **과거 데이터와의 충돌:** 전통적인 하향식 계층형 아키텍처(Presentation->Business->DB)는 더 이상 권장되지 않으며, 의존성 역전을 통한 도메인 중심 설계가 표준임.
|
||||
- **정책 변화:** 모든 기술적 결정(DB 선택 등)은 최대한 늦추고, 도메인 로직을 먼저 완성하는 '지연된 결정(Deferred Decision)' 원칙 장려.
|
||||
|
||||
---
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- **Parent:** [[10_Wiki/Topics]]
|
||||
- **Related:** [[소프트웨어_설계_원칙_및_디자인_패턴]], [[현대적_프론트엔드_아키텍처_및_상태_관리]], [[클라우드_인프라_및_IaC_운영_표준]]
|
||||
- **Raw Source:** Architecture 폴더 내 500여 개 파일
|
||||
@@ -109,7 +113,29 @@ github_commit: "pending"
|
||||
---
|
||||
|
||||
## 🕓 변경 이력 (Changelog)
|
||||
|
||||
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|
||||
|------|-----------|-----------|--------|
|
||||
| 2026-05-07 | 120개 이상의 아키텍처/DDD 관련 문서 통합 및 v3.0 규격 적용 | MERGE | A |
|
||||
|
||||
## 💻 코드 패턴 (Code Patterns)
|
||||
|
||||
**패턴 1:** *(TODO: 이 프로젝트 컨벤션 반영한 구조 스켈레톤)*
|
||||
|
||||
```text
|
||||
# TODO
|
||||
```
|
||||
|
||||
## 🤔 의사결정 기준 (Decision Criteria)
|
||||
|
||||
**선택 A를 써야 할 때:**
|
||||
- *(TODO)*
|
||||
|
||||
**선택 B를 써야 할 때:**
|
||||
- *(TODO)*
|
||||
|
||||
**기본값:**
|
||||
> *(TODO)*
|
||||
|
||||
## ❌ 안티패턴 (Anti-Patterns)
|
||||
|
||||
- **[안티패턴]:** *(TODO: 무엇을 하면 안 되는가 + 이유 + 대신 무엇을)*
|
||||
Reference in New Issue
Block a user