반응형
🧐 의존성 주입 (DI)
의존성은 하나의 코드가 다른 코드에 의존하는 상태를 뜻한다.
class A가 class B를 사용한다면 A는 B에 의존한다고 한다.
즉,의존성 주입은 의존성이 있는 코드, 객체를 넣어준다는 의미이다.
class A {
new b = new B()
...
}
class B {
...
}
IoC 컨테이너
🧐 제어의 역전
class A가 class B를 직접 참조하고 생성했던 것을 중간에 매개체를 하나 두고, 매개체를 통해 사용한다고 생각하면 하나의 흐름으로 흘렀던 것이 서로를 마추치게 된다. 이 모습 처럼 흐름의 방향이 역전 된 것을 볼 수 있다.
이를 다시 말하면 개발자가 직접 의존성을 제어하던 것을 매개체에게 일을 일임, 빼앗게 된다.
더이상 제어의 주체가 개발자가 아니게 되어 제어의 역전이라한다.
여기서 매개체는 IoC Container라고 한다.
IoC Container는 개발자에게 일임받은 제어권을 사용하여 의존성을 관리하고 인스턴스를 생성하여 주입해 준다.
IoC Container는 대부분 프레임워크가 담당한다. (Nest.js, Spring..)
🧐 의존성 주입의 장점
- 의존성 감소
- 변화에 강함
- 재사용성이 더 좋아졌다
- 유지보수 용이
- 코드양 감소
- 테스트 용이
참고영상
반응형
'TIL' 카테고리의 다른 글
[TIL] 프로그래머스 (푸드 파이트 대회) (0) | 2024.03.11 |
---|---|
[TIL] 프로그래머스 (이상한 문자 만들기) (0) | 2024.03.11 |
[TIL] 프로그래머스 (시저 암호) (0) | 2024.03.06 |
[TIL]프로그래머스 (내적) (0) | 2024.03.05 |
[TIL] 프로그래머스 (2016) (0) | 2024.03.04 |
댓글