SOLID 원칙 설명 — (D)

Apr 17 2023
종속성 역전 원칙
클래스는 추상화에 의존해야 하지만 구체화에 의존해서는 안 됩니다. 즉, 상위 수준 모듈이 하위 수준 모듈에 의존해서는 안 됩니다. 둘 다 추상화에 의존해야 합니다.

클래스는 추상화에 의존해야 하지만 구체화에 의존해서는 안 됩니다. 즉, 상위 수준 모듈이 하위 수준 모듈에 의존해서는 안 됩니다. 둘 다 추상화에 의존해야 합니다.

샘플 시나리오

AreaCalculator 클래스 와 동일한 시나리오를 사용 하고 새 기능을 추가해 보겠습니다. 이번에는 사용자가 AreaCalculatorDisplay 클래스에 반전을 도입하려고 합니다 .

종속성 역전 원칙을 위반하지 않기 위해 AreaCalculator 클래스에서 구현 하고 AreaCalculatorDisplay 클래스에서 추상화를 사용하는 ICalculator 라는 인터페이스를 만들었습니다 .

따라서 AreaCalculator 내부의 기능이나 메서드가 변경 되더라도 AreaCalculatorDisplay는 상위 수준 인터페이스의 추상화 수준으로 인해 애플리케이션의 기능 흐름을 방해하지 않고 작동할 수 있습니다.

주요 이점

  1. 고수준 모듈은 저수준 모듈에 의존할 필요가 없습니다. 둘 다 추상화에 쉽게 의존할 수 있습니다.
  2. 저수준 모듈은 인터페이스 구현을 수행할 수 있습니다.
  3. 향상된 코드 유연성 및 확장성.