Dependency Injection
: 객체 간의 의존성 관리, 필요한 의존성을 외부에서 주입 받도록 설계하는 방법
의존성
: 객체가 자신의 기능을 수행하기 위해 필요한 다른 객체나 구성요소
객체의 기능을 코드의 직접 수정으로 재변경해 줘야 하는 경우 코드에 의존적이게 된다
다양한 케이스로 변경할 수 있는 객체의 기능을 코드로 일일이 적용시켜주는게(객체가 스스로 생성) 아니라,
외부에서 주입받을 때 객체간의 의존성을 관리하기 편하다.
[예시]
//객체의 기능을 객체가 구현하여 수정에 용이하지 않은 예시
public class Car {
private Engine engine;
public Car() {
// Car 클래스가 Engine 객체를 직접 생성
engine = new Engine();
}
}
//객체의 기능을 외부에서 주입받아 객체 결합도가 낮아진 예
public class Car {
private Engine engine;
// 의존성을 외부에서 주입받음
public Car(Engine engine) {
this.engine = engine;
}
}
[결론]
DI 패턴은 객체가 여러 기능을 할 때에 의존적이지 않게 기능을 부여받기 위함이기 때문에
변동적으로 다양한 기능을 수행해야하는 상황에서 쓰이면 좋은 패턴이다!
'공부' 카테고리의 다른 글
랜덤 맵 생성] 1. 횡스크롤 수평 랜덤맵 생성하기 (0) | 2025.02.09 |
---|---|
Unity내의 병렬적 작업 처리와 유사 개념 정리 (0) | 2025.02.04 |
[TIL] [C++, 게임 프로그래밍] 241225 5-1.c++의 컴파일 과정 (0) | 2024.12.25 |
[TIL] [C++, 게임 프로그래밍] 241224 5.파일 분리하기 (0) | 2024.12.25 |
[TIL][처음 배우는 c# 프로그래밍] 241218 1.클래스 (1) | 2024.12.19 |
댓글