CS: DI, IoC

M·2023년 8월 30일
0

TIL

목록 보기
41/42

DI (Dependency Injection)

DI(의존성 주입)은 클래스가 다른 클래스에 의존할 때, 그 의존성을 외부에서 주입받는 방식을 말한다. 객체가 필요로 하는 다른 객체를 직접 생성하지 않고 외부에서 받아 사용하는것
이로서 중복적인 코드를 줄이고, 유연성과 테스트 용이성을 높일 수 있다.
ex)

  • a클래스가 b클래스를 의존하고 있다면 a클래스는 일반적으로 내부에서 b클래스를 인스턴스화 시키거나 직접 참조한다.
  • DI를 사용하면 b클래스의 인스턴스는 외부 생성자나 메소드, 파라미터 등에서 전달되므로
    a클래스는 b클래스에 대해 알 필요가 없다

#Ioc(Inversion of Control)
Ioc(제어의 역전)는 제어 권한이 프레임워크나 컨테이너 등에게 넘겨진다.
ex)

  • 웹 서버 환경에서 HTTP 요청 처리 로직은 개발자한테 있지만
    어떤 요청이 어떤 시점에 들어올지 결정하는 것은 웹 서버이다.
    즉 웹 서버(Ioc컨테이너)가 개별 요청에 대한 제어를 역전 시킨 것이다.
    IoC의 장점은 모듈간 결합도를 줄여 코드 변경 및 유지 보수를 용이하게 하는 것이다.
profile
자바스크립트부터 공부하는 사람

0개의 댓글