
SOLID: Principio de responsabilidad única
Introducción
Me he propuesto en este año empezar a aprender fundamentos importantes de la programación y, como no podía ser de otra forma, he decidido empezar con los famosos principios SOLID. ¿Qué significan estas siglas?
\
- Single responsibility
- Open / closed
- Liskov substitution
- Interface segregation
- Dependency inversion
Poco a poco iré explicando con ejemplos cada uno de los principios, pero por ahora vamos a comenzar con uno muy sencillo que es el principio de responsabilidad única (Single responsibility).
Principio de responsabilidad única
Éste principio nos indica que una clase debe hacer una única cosa. Generalmente solemos ver clases que tienen 10 o más métodos, las cuales no cumplen este principio ya que están muy ligadas a futuros problemas si se quiere cambiar algo o simplemente que esa clase está haciendo más cosas de las que debería.
Ejemplo
Pongamos el ejemplo de un ordenador:
|
|
Éste ordenador es muy sencillito. ¿Cuál es el problema? que la clase Computer está almacenando atributos y además ejecuta el arranque. Según el principio de responsabilidad única esta clase debería separar la lógica de la presentación.
Para arreglar esto, separaremos los métodos turnOn y turnOff en otra clase más acorde con lo que hace:
|
|
De esta manera podemos eliminar de la clase MyComputer los métodos de encender y apagar, así nos queda más limpia y segmentada para su uso general.
|
|
Este ejemplo del ordenador es muy básico pero nos sirve para entender mejor cómo funciona el principio de responsabilidad única