자원을 직접 명시하지 말고 의존 객체 주입을 사용하라
많은 클래스가 하나 이상의 자원에 의존한다. 가령 맞춤법 검사기는 사전에 의존하는데, 이런 클래스를 정적 유틸리티 클래스로 구현한 모습을 드물지 않게 볼 수 있다. public class SpellChecker { private static final Lexicon dictionary = new Lexicon(); private SpellChecker() { } //객체 생성 방지 public static boolean isValid(String word) {...} public static List suggestion(String typo) {...} } 위 방식을 사용하면 다른 사전을 사용하지 못한다는 점에서 잘못된 설계 방법이라고 할 수 있다. 실전에서는 사전이 언어별로 따로 있고, 특수 어휘용 사..
Comment