DINO NET
SOLID - 5. Dependency Inversion Principle (의존 관계 역전 원칙) 본문
의존 관계 역전 원칙 Dependency Inversion Principle
상위 모듈은 하위 모듈의 구현 내용에 의존하면 안 된다. 상위 모듈과 하위 모듈 모두 추상화된 내용에 의존해야 한다.
두 클래스 A, B가 있을 때, A 클래스가 B 클래스를 사용하는 관계라고 한다면 A 클래스는 상위 모듈, B 클래스는 하위 모듈이라고 한다. 의존 한다는 말은 상위 모듈이 직접적으로 하위 모듈의 인스턴스를 사용하는 것을 말하는데, 의존을 하게 되면 하위 모듈이 바뀔 때 마다 상위 모듈 또한 계속 해서 수정을 해야하는 번거로움이 생기게 된다. (유지 보수의 어려움이 생김) 그러므로 추상 클래스를 이용하여 추상화 레이어를 만들어 주어야 한다.
1. 상위 모듈에는 추상 클래스의 자식 클래스의 인스턴스를 사용한다는 가정 하(인터페이스 분리를 원칙 지키기)에 그 하위 모듈을 사용하는 코드를 작성해주기
2. 하위 모듈은 추상 클래스의 추상 메소드들을 구현 (오버라이딩) 하기
위 방법을 사용하면 새로운 하위 모듈이 생겨도(확장) 기존 코드를 수정하지 않아도 되므로 유지 보수가 손쉬워 진다.
-> 개방 폐쇄 원칙을 지키기 위한 방법

'program() > 파이썬' 카테고리의 다른 글
| 자료구조 [2] (0) | 2023.02.25 |
|---|---|
| 자료구조 [1] (0) | 2023.02.18 |
| SOLID - 4. Interface Segregation Principle (인터페이스 분리 원칙) (0) | 2023.02.15 |
| SOLID - 3. Liskov Substitution Principle (리스코프 치환 원칙) (0) | 2023.02.15 |
| SOLID - 2. Open-Closed Principle (개방 폐쇄 원칙) (0) | 2023.02.15 |