Principios SOLID desmitificados — (D)

Apr 17 2023
Principio de inversión de dependencia
Las clases deben depender de la abstracción pero no de la concreción, lo que significa que los módulos de alto nivel no deben depender de los módulos de bajo nivel. Ambos deben depender de la abstracción.

Las clases deben depender de la abstracción pero no de la concreción, lo que significa que los módulos de alto nivel no deben depender de los módulos de bajo nivel. Ambos deben depender de la abstracción.

Ejemplo de escenario

Usemos el mismo escenario con la clase AreaCalculator y agréguele una nueva funcionalidad. Esta vez, al usuario le gustaría introducir la inversión en la clase AreaCalculatorDisplay .

Para no violar el Principio de Inversión de Dependencia, hemos creado una interfaz llamada ICalculator que es implementada por la clase AreaCalculator y esa abstracción es consumida por la clase AreaCalculatorDisplay.

Por lo tanto, incluso si la funcionalidad o los métodos dentro de AreaCalculator cambian , AreaCalculatorDisplay puede funcionar sin interrumpir el flujo funcional de la aplicación debido al nivel de abstracción de la interfaz de alto nivel.

Beneficios principales

  1. Los módulos de alto nivel no necesitan depender de los módulos de bajo nivel. Ambos pueden depender fácilmente de la abstracción.
  2. El módulo de bajo nivel puede llevar a cabo la implementación de la interfaz.
  3. Mayor flexibilidad y escalabilidad del código.