의존 역전 원칙 (Dependency Inversion Principle)
정의
- 고차원의 모듈이 저찬원의 모듈에 직접 의존하는 것을 피해야함
주요 내용
의존 역전 원칙의 주장
- 고차원 모듈은 저차원의 모듈에 의존X
- 추상화된 것은 구체적인 것에 의존 X
- 구체적인 것이 추상화된 것에 의존
- 이 두 모듈은 모두 다른 추상화된 것에 의존
예시
- 자동차가
구체적인 스노우 타이어
에 의존하는 관계
- 스노우 타이어는 계절에 따라 일반 타이어로 교체될 수 있음
- 자동차는 자주 바뀔 가능성이 있는 스노우 타이어에 의존하는 문제점
- <개선>
- 자동차가 구체적인 타이어들 ( 스노우, 일반, 광폭 ) 에 직접 의존하는 대신 추상화된 타이어 인터페이스에만 의존
의존 역전 원칙의 장점 및 특징
변화의 영향 최소화
- 추상화된 인터페이스나 슈퍼 클래스를 통해 변화가 잦은 구체적인 요소에 의존 X
- 시스템 유연성 확장성 향상
자주 변경되는 요소로부터 독립
- 구체적인 요소 변경시 해당 요소를 사용하는 모든 코드를 수정X
- 유지보수 용이
“자신보다 변하기 쉬운 것에 의존하지 마라”
- OCP 가 적용되는 JDBC 에서도 인터페이스를 의존함으로서 의존 역전 원칙을 지키고 있음.
Uploaded by N2T
'자바 > 스프링입문객체지향' 카테고리의 다른 글
[5단원]5원칙 - LSP (0) | 2023.09.13 |
---|---|
[5단원]5원칙 - ISP (0) | 2023.09.13 |
[5단원] 객체지향 세계와 SOLID 마무리 (0) | 2023.09.13 |
[5단원]5원칙 - SOLID (0) | 2023.09.10 |
[5단원]5원칙 - SRP (0) | 2023.09.10 |