[G1-Sync] Manual knowledge update

This commit is contained in:
Antigravity Agent
2026-04-30 22:42:02 +09:00
parent 0bd4f19e38
commit c36c0644a1
4888 changed files with 18470 additions and 18602 deletions
+3 -3
View File
@@ -1,5 +1,5 @@
---
id: P-REINFORCE-AI-DEPENDENCY-INJECTION
id: [[P-Reinforce]]-AI-DEPENDENCY-INJECTION
category: "10_Wiki/💡 Topics/AI"
confidence_score: 0.99
tags: [SoftwareEngineering, Patterns, DI, Decoupling]
@@ -16,7 +16,7 @@ last_reinforced: 2026-04-20
- 클래스 내부에서 `new Service()`를 호출하는 순간, 그 클래스는 해당 서비스에 강하게 결합(Coupled)된다.
- DI는 생성자(Constructor)나 메서드 인자를 통해 외부에서 구현체를 전달받는다.
- **Benefits**:
- **Testability**: 실제 DB 대신 가짜(Mock) 객체를 주입하여 단위 테스트 가능.
- **Te[[Stability]]**: 실제 DB 대신 가짜(Mock) 객체를 주입하여 단위 테스트 가능.
- **Flexibility**: 코드 수정 없이 실행 시점에 구현체 교체 가능.
- **Maintenance**: 의존성 관리가 한곳(Container)으로 집중되어 구조 파악이 용이.
- **Types**: Constructor Injection, Setter Injection, Interface Injection.
@@ -25,5 +25,5 @@ last_reinforced: 2026-04-20
- DI 프레임워크(Spring, NestJS 등)를 과도하게 사용하면 의존성 그래프가 너무 복잡해져 런타임 성능에 영향을 주거나 디버깅이 어려워지는 'DI 지옥'에 빠질 수 있다. 객체 간의 관계가 명확할 때는 과도한 추상화보다 직관적인 구성을 고려해야 한다.
## 🔗 지식 연결 (Graph)
- Related: [[Dependency-Inversion-Principle]] , Inversion-of-Control (IoC)
- Related: [[Dependency-[[Inversion]]-Principle]] , Inversion-of-Control (IoC)
- Pattern: Factory-Method-Pattern