JS에서 의존성 주입이 무엇이냐 . . .
자바스크립트에서 의존성 주입(Dependency Injection)은 객체 지향 프로그래밍에서 중요한 개념 중 하나이다.의존성 주입은 객체 간의 결합도를 줄이고 유연성을 높이는 데 도움이 된다
- 객체 간의 결합도? 처음 듣는 말이다. 이것을 의존성 주입과 연관지어 보자
자바스크립트에서 의존성 주입은 다양한 방법으로 구현할 수 있다.
- 모듈 패턴을 사용하여 모듈을 생성하고 필요한 객체를 주입하는 방법
- 생성자 주입 - ( Constructor Injection ) - 생성자 주입은 ( 함수 )객체 생성 시점에 의존하는 객체를 주입받는 방법
- 프로퍼티 주입 - ( Property Injection ) - 프로퍼티 주입은 객체 생성 후에 의존하는 객체를 주입받는 방법
- 메서드 주입 - ( Method Injection ) - 메서드 주입은 객체가 생성된 후, 해당 객체가 의존하는 다른 객체를 받아와야 하는 메서드를 정의하고, 이 메서드를 호출하여 의존하는 객체를 주입하는 방법 → 거의 class임.
- 인터페이스 주입 - ( Interface injection ) - 인터페이스은 객체가 인터페이스를 구현하고 있어야 하는 방법으로, 객체가 의존하는 인터페이스의 구현체를 주입받아 사용하는 방법
앞글자만 따서 CPMI로 기억해두자.
→ 객체를 생성할 때 필요한 객체를 매개변수로 전달하면 해당 객체가 사용하는 다른 객체들과 결합을 끊을 수 있다.
의존성 주입으로 얻을 수 있는 이점
자바스크립트 의존성을 주입함으로써 코드의 재사용성과 유지보수성을 높일 수 있다. → 생성자 정의!!
- 의존성 주입의 예시를 코드로 한 번 봐 보자 this?
→ 코드의 양을 줄이고 의존성 주입을 보다 쉽고 간편하게 구현할 수 있도록 해준다.
의존성 주입 프레임워크로는 Vue.js, React 등이 있다.