상세 컨텐츠

본문 제목

[이펙티브 자바] Item 5. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 | 2장

Development Study/이펙티브 자바

by yooputer 2023. 4. 5. 09:22

본문

이펙티브 자바 2장 Item5를 요약한 내용입니다.


클래스에서 자원을 사용해야하는 경우 클래스 내에서 자원 인스턴스를 직접 생성하고 정적 유틸리티 클래스 혹은 싱글턴으로 구현하는 경우가 있다.

하지만 이 방법은 자원에 따라 다른 동작을 할 수 없고 테스트가 어려우며 멀티스레드 환경에서 사용할 수 없다.

 

대신 인스턴스를 생성할 때 생성자에게 필요한 자원을 넘겨주는 의존 객체 주입방식으로 구현하는 것이 좋다

의존객체주입은 생성자, 정적 팩터리, 빌더 모두에 똑같이 응용할 수 있다

 

이 패턴의 변형으로 생성자에 자원 팩터리를 넘겨주는 방식이 있다

자바8에서 등장한 Supplier<T> 인터페이스가 팩터리의 예이다.

 

의존성이 큰 프로젝트는 코드가 어지러워진다.

스프랑 같은 의존객체주입 프레임워크를 사용하여 문제를 해결할 수 있다

 

 

 

 

관련글 더보기