SOLID 원칙, 프레임워크vs라이브러리

=·2021년 7월 20일
0

SOLID 원칙 중 3개

의존 역전 원칙 - DIP (Dependency Inversion Principle)

  • 의존 역전 원칙이란 의존 관계를 맺을 때 변화하기 쉬운 것 보다 변화하기 어려운 것에 의존하라는 원칙
  • 이때의 변화하기 어려운 것은 추상클래스, 인터페이스에 해당하며 변화하기 쉬운것은 구현 클래스에 해당한다.

의존관계 주입 DI (Dependency Injection)

  • 예를 들어, 생성자를 통해 외부에서 인터페이스에 구현 클래스를 주입하는 방식으로 설계하면, 인터페이스에만 의존하는 원칙을 지킬수 있다. 이를 의존관계 주입(의존성 주입,DI) 라 한다.

제어의 역전 IoC (Inversion of Control)

  • 프로그램의 제어 흐름을 구현 객체가 직접 제어하는 것이 아니라 외부에서 제어 하는 것을 제어의 역전이라고 한다.

DI 컨테이너

  • 구현 객체들을 생성하고 구현 객체 간 의존관계를 연결해줌. (구현객체가 공연의 배우라면 DI 컨테이너는 공연의 기획자 느낌)
  • 스프링 프레임워크는 @Configuration이 붙은 DI 컨테이너를 스프링 컨테이너라고 인식하고 이후 이 안에서 @Bean이 붙은 구현 객체들을 이 컨테이너에 등록해 사용하게 된다.

프레임워크 vs 라이브러리
프레임워크가 내가 작성한 코드를 제어하고, 대신 실행하면 그것은 프레임워크가 맞다.
반면에 내가 작성한 코드가 직접 제어의 흐름을 담당한다면 그것은 프레임워크가 아니라 라이브러리다.
[출처: 김영한님의 스프링 기본편 강의자료]

0개의 댓글