에듀윌 · DIP · 실무
도메인 적용
구체가 아니라 추상만 보고

의존하면 교체가 자유롭다

위반 (Before)준수 (After)
OrderServiceMySqlOrderRepository 직접 의존OrderServiceIOrderRepository(추상) ← MySqlOrderRepository
DB 바꾸면 OrderService도 같이 수정추상만 그대로면 DB 교체 자유
도메인 실무
통합 로그인: 인증 백엔드가 GoogleOAuthClient가 아닌 IOAuthProvider(추상)에 의존 → 새 공급자도 무수정. 간편결제 PG: IPaymentGateway 추상에만 의존 → PG사 교체 자유, 테스트용 MockPaymentGateway도 끼움.
💡 의존 방향 한 줄
DIP 핵심 = 의존 방향을 뒤집어 추상에 의존. 고수준·저수준이 서로 직접 보지 않고 가운데 둔 인터페이스(추상)만 바라보게.