JAVA
아이템5. 자원을 직접 명시하지 말고 의존객체주입을 사용하라.
gracelove91
2019. 11. 27. 14:13
반응형
자원을 직접 명시하지 말고 의존객체주입을 사용하라.
많은 클래스가 하나 이상의 자원에 의존
인스턴스를 직접 사용하면 유연성이 떨어진다.
public class SpellChecker { private static final Lexicon dictionary = new ...(); }
클래스가 여러자원 인스턴스를 지원해야한다.
인스턴스를 생성할 때 생성자에 필요한 자원을 넘겨주는 방식.
팩터리 메서드 패턴을 구현하는 방식
public class SpellChecker { private final Lexicon dictionary; public SpellChecker(Lexicon dictionary) { this.dictionary = Objects.requireNonNull(dictionary); } }
정리
하드코딩하지말고 유연하게 코딩할 것. 스프링프레임워크가 좋은 이유 또한 DI를 지원하기 때문이다.
반응형