less than 1 minute read

item5 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라.

정적 유틸리티 클래스

싱글톤

  • 위와 같이, 사용하는 자원에 따라 동작이 달라지는 클래스에는 정적 유틸리티 클래스나 싱글톤 방식이 적합하지 않다. (ex/ 맞춤법 검사기) -> 의존 객체 주입을 사용하자.

의존 객체 주입 방식


  • 자원의 개수나 의존 관계에 관계없이 잘 작동한다.
  • 불변을 보장하여 여러 클라이언트가 의존 객체들을 안심하고 공유할 수 있다.
  • 유연성을 높이고 테스트를 더 용이하게 해준다.
    • Spring과 같은 프레임워크를 사용하면 코드가 더 깔끔하게 개선된다.

유틸리티 클래스에 의존성의 가지는 코드를 테스트 하는 경우, 정확한 테스트를 진행할 수 없다.


외부에서 객체를 관리해 줄 수 있게 되면 테스트의 유연성이 늘어난다.


변형으로, 생성자에 자원 팩터리를 넘겨주는 방식이 있다. (팩터리 메서드 패턴)

Leave a comment