Saltar a contenido

SRP - Principio de Responsabilidad Única

Principio de Responsabilidad Única -- (Single Responsibility Principle) SRP :

El principio de responsabilidad única establece que una clase debe tener una sola responsabilidad en un programa.

Ejemplo :

Por ejemplo, en lugar de tener una clase "Empleado" que maneje tanto la información personal como el registro de tiempo, se deben crear dos clases separadas: "Empleado" para la información personal y "RegistroDeTiempo" para el registro de tiempo. De esta manera, cada clase se enfoca en una sola tarea y es más fácil de mantener y modificar.

En lugar de tener una Clase que maneje todo, creamos dos Clases separadas:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
FUNCTION_BLOCK Empleado
VAR_INPUT
    Nombre : STRING;
    Apellido : STRING;
    CorreoElectronico : STRING;
END_VAR

// constructor
Empleado(ST_Empleado);

// getters y setters
nombre();
apellido();
correoElectronico();

END_FUNCTION_BLOCK

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
FUNCTION_BLOCK RegistroDeTiempo
VAR_INPUT
    empleado : ST_Empleado; // instancia de la función Empleado
    horaEntrada : DATE_AND_TIME;
    horaSalida : DATE_AND_TIME;
END_VAR

// constructor
RegistroDeTiempo(ST_RegistroDeTiempoEmpleado);

// getters y setters
empleado();
horaEntrada();
horaSalida();

END_FUNCTION_BLOCK
ClaseyObjetos1

De esta manera, la Clase "Empleado" solo maneja la información personal del empleado y la Clase "RegistroDeTiempo" solo maneja el registro de tiempo. Cada Clase tiene una sola responsabilidad y es más fácil de mantener y modificar en el futuro.