DI (Dependency Injection): DI는 의존성 주입으로, 소프트웨어 컴포넌트 간의 의존 관계를 외부에서 주입하는 디자인 패턴입니다. 객체가 자신이 필요로 하는 의존 객체를 직접 생성하는 것이 아니라, 외부에서 주입받아 사용하는 방식입니다. 이를 통해 모듈 간의 결합도를 낮추고 유연성을 높일 수 있습니다.
IoC (Inversion of Control): IoC는 제어의 역전으로, 프로그램의 흐름 제어가 개발자가 아닌 프레임워크나 컨테이너에게 넘어가는 디자인 원칙입니다. 일반적으로 객체의 생명 주기와 의존성 관리를 프레임워크가 담당하게 됩니다. DI는 IoC의 한 형태로 볼 수 있습니다.
꼬리질문
1. 의존성 주입을 왜 사용하나요?
답변:
1. 의존성 주입을 사용하면 코드의 유연성과 재사용성이 높아지며, 모듈 간의 결합도가 낮아져 코드의 확장과 유지보수가 용이
2. 프로젝트를하면서 DI를 어떻게 사용해봣나요?
답변:
1. O'auth 로그인(소셜 로그인시) 우리 서비스에 회원가입이 되어 있지 않기 때문에 회원가입을 시켜주는 과정에서 회원가입을 담당하는 user.service 모듈에서 에서 의존성 주입을 하여 소셜로그인시 회원가입을 진행하도록 만들었습니다.
3. IoC의 장점은 무엇인가요?
답변:
프레임워크나 컨테이너가 객체의 생명 주기와 의존성을 관리하므로, 개발자는 비즈니스 로직에 집중할 수 있습니다.
'cs 공부' 카테고리의 다른 글
| 객체 지향 프로그래밍이란 무엇이고 어떻게 활용할 수 있나요? (0) | 2023.12.12 |
|---|---|
| 대용량 트래픽 발생 시 어떻게 대응해야 하나요? (0) | 2023.12.12 |
| http, https 차이점에 대해 설명해주세요 (0) | 2023.12.11 |
| TCP/UDP에 대해서 설명해주세요. (1) | 2023.12.11 |
| 쿠키, 세션의 개념과 차이를 설명해보세요 (0) | 2023.12.11 |