이펙티브 자바 item51 [Effective Java] 아이템5 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 많은 클래스가 하나 이상의 자원(Resource)에 의존한다. 간혹 정적 유틸리티나 싱글턴에서 이러한 자원을 내부적으로 명시하고 있는 경우가 있다. 아래 예시 코드에서는 두 방식 모두 사전을 하나만 사용한다. 실전에서는 사전이 언어별로 따로 있고 특수 어휘용 사전을 별도로 두기도 하기 때문에 사전 하나로 대응 하나로 모든걸 대응한다는건 안좋은 설계이다. 정적 유틸리티를 잘못 사용한 예시 코드 // 정적 유틸리티 - 잘못된 예 public class SpellChecker { private static final Lexicon dictionary = new Lexicon(); // 특정 자원을 명시 private SpellChecker() {} // 인스턴스화 방지 - 아이템 4 // ...생략... } .. 2021. 1. 14. 이전 1 다음