더북(TheBook)

2.2.3 의존성 주입의 모든 것

의존성 주입은 어렵지 않다. 도리어 삶을 편안하게 해준다. 몇 가지 개념만 마음에 새겨두면 DI 제다이가 될 수 있다.

어떤 객체를 코딩하든 어떤 객체를 생성하든지 스스로 다음 질문을 해보자. 한 가지라도 답변이 “예”라면 직접 인스턴스화(instantiation)하지 말고 주입하는 방향으로 생각을 전환하라.

객체 또는 의존성 중 어느 하나라도 DB, 설정 파일, HTTP, 기타 인프라 등의 외부 자원에 의존하는가?

객체 내부에서 발생할지 모를 에러를 테스트에서 고려해야 하나?

특정한 방향으로 객체를 작동시켜야 할 테스트가 있는가?

이 서드파티(third-party) 제공 객체가 아니라 온전히 내가 소유한 객체인가?

좋은 의존성 주입 프레임워크를 골라 써야 API랑 친해지기 쉽고 여러모로 도움이 된다. 다음 절이 그런 안내자 역할을 할 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.