[G1-Sync] Manual knowledge update
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user