의존성 역전 원칙

1 개요[ | ]

dependency inversion principle (DIP); dependency inversion
의존성 뒤집기 원칙, 의존 역전 원칙, 의존성 역전 원칙, 의존관계 역전 원칙, 헐리우드 원칙
  • 구체화된 것 대신 추상화된 것[1]에 의존하라.
  • 고수준 모듈이 저수준 모듈에 의존하지 않도록 하라.
둘다 추상화에 의존해야 한다.
구체 클래스가 추상 클래스에 의존해야 한다.

Dependency inversion.png

2 예시[ | ]

  • (의존적) 트위터 게시 클래스 → 구글 URL쇼트너 클래스
  • (비의존적) 트위터 게시 클래스 → URL쇼트너 인터페이스 ← 구글 URL쇼트너 클래스
구글 URL쇼트너 클래스의 오류 여부에 관계없이 트워터 게시 클래스를 테스트할 수 있음
테스트시에 더미 URL쇼트너 클래스를 넣어 테스트 가능

3 같이 보기[ | ]

4 참고[ | ]

  1. 인터페이스 또는 추상 클래스
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}