Dependency Inversion Principle

Creator
Creator
Seonglae ChoSeonglae Cho
Created
Created
2020 Mar 15 6:12
Editor
Edited
Edited
2025 Sep 30 17:23

고수준 모듈은 저수준 구현에 의존해서는 안 된다

의존 관계를 맺을 때, 변화하기 쉬운 것 보단 변화하기 어려운 것에 의존해야 한다.
상위 계층이 하위 계층에 의존하는 전통적인 의존관계를 반전시킴으로써 상위 계층이 하위 계층의 구현으로부터 독립되게
Dependency Inversion Principle, 의존 역전 원칙
  • 변화하기 쉬운 것 = 구체적인 것 (클래스, 서브 클래스 인스턴스)
  • 변화하기 어려운 것 = 추상적인 것 (추상 클래스, 인터페이스)
즉, {인터페이스 or 추상클래스} {변수 명} = {서브 클래스 인스턴스} 꼴이 되어야 한다.
 
 
codeanddonuts/hacker-laws-kr
개발을 이야기할 때 흔히 논하는 법칙들이 있습니다. 이 저장소는 그 중 가장 보편적인 것들에 대한 참조와 개요입니다. 공유와 PR 제출 부탁드려요! ❗: 이 저장소는 여러 법칙, 원칙, 그리고 패턴에 관한 설명을 포함하고 있지만, 그 중 어떤 것도 지지 하고 있지 않습니다. 그것들을 적용하여야 할지에 말지에 대해서는 언제나 논의의 여지가 있으며, 또한 당신이 어떤 작업을 하느냐에 따라서도 크게 달라집니다.
codeanddonuts/hacker-laws-kr
Dependency Inversion vs. Dependency Injection
I've been a software engineer for a few years now, yet every now and then I like to return to the fundamentals. We all "know" that we should follow the SOLID principles by good ol' Uncle Bob, but common knowledge is not always common practice.
Dependency Inversion vs. Dependency Injection
 

Recommendations