해결된 질문
작성
·
288
답변 1
4
안녕하세요. 님, 공식 서포터즈 David입니다.
.
DIP를 지키는 것이 자동적으로 OCP와 SRP를 충족하는 것은 아닙니다.
DIP는 의존관계를 어떻게 가져갈 것인가(추상화에 의존, 구체화에 의존)에 대한 문제인데
의존관계를 인터페이스로 잘 뽑아낸다고 하여도 해당 인터페이스 내부(추상화)가 잘 구성되어있지 않다면 OCP를 지킬 수 없기 때문입니다.
즉, 인터페이스를 어떻게 구현하느냐는 OCP의 문제이고 인터페이스를 사용하여 의존관계를 유연하게 가져가는 것은 DIP의 문제인 것입니다.
SRP는 하나의 클래스가 하나의 책임을 갖는 것이므로 DIP(추상화에 의존, 구체화에 의존)랑은 다른 문제이며 따라서 DIP를 지킨다고 SRP가 충족되는 것은 아닙니다.
.
감사합니다.