프로그래밍에서 '의존성 역전 원칙(DIP)'을 적용하면 '고수준 모듈'은 어디에 의존해야 하나요?
어려움 freeCodeCamp해설
DIP에 따르면 고수준 모듈(비즈니스 로직)은 저수준 모듈(DB, 파일 시스템 등)의 구체 클래스가 아닌 추상화(인터페이스)에 의존합니다. 이를 통해 구현체를 쉽게 교체할 수 있고(예: MySQL → PostgreSQL), 테스트 시 Mock 객체로 대체가 가능합니다.
DIP에 따르면 고수준 모듈(비즈니스 로직)은 저수준 모듈(DB, 파일 시스템 등)의 구체 클래스가 아닌 추상화(인터페이스)에 의존합니다. 이를 통해 구현체를 쉽게 교체할 수 있고(예: MySQL → PostgreSQL), 테스트 시 Mock 객체로 대체가 가능합니다.