dip

객체지향프로그래밍

[SOLID 원칙] 5. Dependency Inversion Principle 의존관계 역전 원칙

Dependency Inversion Principle 의존관계 역전 원칙 정의 : 상위 모듈이 하위 모듈에 의존하는게 아니라 상위모듈과 하위모듈 모두 인터페이스(추상화)에 의존해야 한다. 의존관계 역전이란 말이 처음에는 와닿기 힘들다. 따라서 아래의 그림을 비교해서 보면 이해가 조금더 쉬울것 같다. 아래의 그림과 같이 상위모듈이 하위모듈에 의존하는 경우 하나의 하위모듈만 수정을 해도 상위모듈은 영향을 받게 되는 문제점이 있다. 따라서 인터페이스(추상화)를 통해 의존성을 상위모듈->하위모듈 에서 하위모듈->인터페이스 로 역전시켜준다. 이런 식으로 디자인을 변경하면 상위모듈에서 인터페이스를 가지고 있기 때문에 ownership도 가지게 된다. 왜냐하면 인터페이스란 "변하지 않는 것"의 다른말이기 때문에 하..

자유로운 범고래
'dip' 태그의 글 목록