2025-08-09 00:26
Tags: 소프트웨어 공학
의존성 역전 원칙(Dependency Inversion Principle, DIP)
- 부패하기 쉬운 저수준의 구체적인 구현으로 부터 고수준의 정책 보호
- 의존성 방향을 역전시켜 고수준 모듈이 저수준 모듈 변경 영향 안받게 함
- 추상화에 의존하라.
- 고수준 모듈은 저수준 모듈에 의존해서는 안 된다. 둘 다 추상화에 의존해야 한다.
- 추상화는 세부 사항에 의존해서는 안 된다. 세부 사항이 추상화에 의존해야 한다.
- 고수준 모듈은 ‘무엇’을 할것인가 정의
- 저수준 모듈은 ‘어떻게’ 할것인가 구현
주문 처리 로직
→MySQL 저장 로직
이 방식에서 인터페이스나 추상 클래스 도입주문 처리 로직
→주문 저장 인터페이스
←MySQL 저장 로직
처럼 구체적 세부사항 모름- 제어의 역전과 의존성 주입 으로 실제 의존성 역전 원칙 구현
- 본질은 소유권의 역전
- 고수준 모듈이 추상 인터페이스 소유, 저수준 모듈은 단지 인터페이스 구현
- 플러그인 아키텍쳐의 기반