인터페이스를 두고 DI를 적용하는 이유

첫째, 소프트웨어 개발에서 절대로 바뀌지 않는 것은 없기 때문이다

당장 클래스를 바꿔서 사용할 계획이 전혀 없더라도 언젠가 변경이 필요한 상황이 닥쳤을 때 수정에 들어가는 비용과 시간의 부담을 줄일 수 있다.

둘째, 클래스의 구현 방식은 바뀌지 않는다고 하더라도 인터페이스를 두고 DI를 적용하게 해두면 다른 차원의 서비스 기능을 도입할 수 있기 때문이다

새로운 기능을 넣기 위해 기존 코드는 수정할 필요가 없다. 추가했던 기능이 필요 없어지면 언제든지 설정파일을 간단히 수정해서 제거해보릴 수도 있다.

ex)새 기능만 추가한 인터페이스 구현 클래스의 나머지 중복된 부분은 이전에 구현한 클래스에서 불러온다.

세 번째, 효율적인 테스트를 손쉽게 만들기 위해서

테스트를 잘 활용하려면 자동으로 실행 가능하며 빠르게 동작하도록 테스트 코드를 만들어야 한다. DI는 테스트가 작은 단위의 대상에 독립적이로 만들어지고 실행되기 해주는데 중요한 역할을 한다.

태그:

카테고리:

업데이트:

댓글남기기