의존성주입 2

IoC, DI, AOP 와 Spring

의존성이란 무엇인가? 한 클래스가 다른 클래스의 메소드나 데이터를 사용하는 경우를 '의존한다.'라고 말한다. 코드레벨에서의 의존성 1. 생성자 의존성클래스가 다른 클래스의 인스턴스를 필요로 할 때, 생성자를 통해 직접 생성하는 경우class Engine {}class Car { private Engine engine; public Car() { this.engine = new Engine(); // Engine 클래스에 대한 의존성 }} !발생할 수 있는 단점Car 객체 생성자에서 Engine 생성자를 new를 통해 직접 생성하고 있음--> Car가 Engine에 직접적으로 의존하고 있고, 클래스 간에 너무 강하게 결합되어 있다.--> Engine 클래스의 구현을 변경하거나,..

JAVA 2024.05.01

[NestJS] 모듈 간의 자유로운 의존성 사용, 다른 모듈의 의존성 주입

각각 다른 기능을 담당하는 모듈1,2가 있다고 가정해보자. 그런데 이 두 개의 모듈에서 같은 클래스를 써줘야 하는 경우엔 어떻게 해야 할까??? 같은 클래스를 여러번 작성하는건 대충 생각해봐도 너무 비효율적이다. 그럴 때 NestJS의 의존성 주입을 이용해서 반복해서 써야 하는 클래스를 하나의 모듈에 한 번만 쓰고, 다른 모듈에서 불러와서 해당 모듈을 불러와서 자유롭게 사용할 수 있다. NestJS를 사용해서 만드는 어플리케이션 구조를 보면 쉽게 이해할 수 있다. NestJS의 모든 모듈은 공유모듈 이기때문에, 일단 생성되면 모든 모듈에서 재사용할 수 있다. 모듈1에서 모듈2의 서비스를 사용하려 한다 가정하고, 과정을 따라가보자. 1. 모듈1의 import에 모듈2 작성하기 MyArticleModule(..

NestJS 2022.02.24