2024.04.19 TIL - DI, IoC

김민석·2024년 4월 21일
0

TIL

목록 보기
75/78

의존성 주입(Dependency Injection, DI)과 제어의 역전(Inversion of Control, IoC)는 소프트웨어 개발에서 객체 간의 결합을 줄이고 유연성과 유지 보수성을 향상시키는 데 사용되는 개념입니다.

의존성 주입(Dependency Injection, DI)

  • 의존성 주입은 객체 간의 의존성을 외부에서 주입하는 디자인 패턴입니다.

  • 클래스는 필요한 의존성을 직접 생성하지 않고, 외부에서 제공받아 사용합니다. 이를 통해 클래스 간의 결합도를 낮출 수 있습니다.

  • 주로 인터페이스를 통해 의존성을 주입하므로, 코드의 유연성과 확장성을 높일 수 있습니다.

  • DI는 생성자 주입, 메서드 주입, 속성 주입 등 다양한 방식으로 구현될 수 있습니다.

제어의 역전(Inversion of Control, IoC)

  • 제어의 역전은 프로그램의 제어 흐름에 대한 권한을 프레임워크나 컨테이너로 넘기는 개념입니다.

  • 일반적으로 애플리케이션의 흐름은 개발자가 작성한 코드에 의해 제어되지만, 제어의 역전을 통해 프레임워크나 컨테이너가 애플리케이션의 실행 흐름을 제어합니다.

  • 이는 의존성 주입과 밀접한 관련이 있으며, 의존성 주입을 통해 객체 간의 결합을 완화하는 것이 제어의 역전을 가능하게 합니다.

  • IoC 컨테이너는 일반적으로 객체의 라이프사이클을 관리하고, 의존성을 주입하여 애플리케이션을 구성합니다.

이러한 개념들은 코드의 재사용성과 유지 보수성을 향상시키며, 유연하고 테스트 가능한 코드를 작성하는 데 도움을 줍니다. 이를 통해 객체 간의 결합을 완화하고, 유연하고 확장 가능한 애플리케이션을 개발할 수 있습니다.

profile
화이팅 화이팅

0개의 댓글