[TIL] DI / IoC

sooyoung choi·2024년 1월 24일
0

CS

목록 보기
14/21

DI, IoC는 객체 지향 프로그래밍에서 강조되며, 모듈 간의 결합도를 낮추고 유연성 및 재사용성을 향상시키는데 도움이 된다.

IoC

  • Inversion of Control
  • 제어 역전
  • 애플리케이션의 흐름을 외부 시스템(프레임워크, 라이브러리)이 제어
  • 사용자는 이벤트 핸들러를 등록하고, 프레임워크는 특정 이벤트가 발생했을 때 해당 핸들러를 호출하는데 사용자는 언제 코드가 실행될지를 제어하지 않아도 된다.
  • 코드의 결합도를 낮추고, 모듈 간의 독립성을 높여 유지보수와 테스트를 용이하게 해준다.

DI

  • Dependency Injection
  • 의존성 주입
  • 객체가 필요로 하는 의존성(다른 객체)을 외부에서 주입하는 방식
  • 객체가 직접 의존성을 생성하지 않고, 외부(주로 프레임워크나 컨테이너)로부터 필요한 의존성을 받는다.
  • 객체가 데이터베이스 연결을 필요로 할 때, 데이터베이스 연결 객체는 외부에서 생성되어 해당 객체에 주입되며, 객체는 데이터베이스 연결의 구체적인 생성 방법을 알 필요가 없다.
  • DI는 객체 간의 결합도를 낮추고, 코드의 재사용성과 테스트 용이성을 높이며, 코드의 변경에 대한 유연성을 제공한다.

0개의 댓글