Saltar a contenido

DIP - Principio de Inversión de Dependencia

Principio de Inversión de Dependencia -- (Dependency Inversion Principle) DIP :

El principio de inversión de dependencia establece que los módulos de nivel superior no deben depender de los módulos de nivel inferior, sino que ambos deben depender de abstracciones.

Ejemplo:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
INTERFACE I_Conexion
// interfaz para la conexión
METHODS
    EstablecerConexion : BOOL; // método para establecer la conexión
END_INTERFACE

FUNCTION_BLOCK ConexionSerial IMPLEMENTS I_Conexion // implementa la interfaz I_Conexion
// implementación para la conexión serial
END_FUNCTION_BLOCK

FUNCTION_BLOCK ConexionEthernet IMPLEMENTS I_Conexion // implementa la interfaz I_Conexion
// implementación para la conexión ethernet
END_FUNCTION_BLOCK

FUNCTION_BLOCK Dispositivo

// constructor
Dispositivo(conexion);

// método para establecer la conexión
establecerConexion();

END_FUNCTION_BLOCK

SOLID_DIP

  • Esto permite que se pueda pasar cualquier objeto que implemente la interfaz I_Conexion, lo que cumple con el principio de inversión de dependencias.

  • Además, se utiliza el método EstablecerConexion definido en la interfaz I_Conexion, lo que demuestra cómo se puede utilizar una abstracción (la interfaz) para trabajar con diferentes implementaciones concretas de manera uniforme.