Single responsability principle o Principio de responsabilidad única es uno de los principios SOLID para la mejora de código. Este principio indica que cada clase debe tener una tarea concreta. Suena sencillo en la teoría pero llevarlo a la practica un poco mas complicado, requiere tener el deseo de hacer código de calidad y no solo código que funcione.
En ocasiones estamos trabajando en una clase y descubrimos que necesitamos un método que no esta relacionado directamente con la responsabilidad de la clase, el problema surge cuando escribimos dicho método en la clase en la que estamos trabajando en lugar de crear una clase nueva.
En la clase triangulo la responsabilidad única debe ser la de comportarse como un triangulo pero un imprimir un resultado no es un comportamiento directo de un triangulo por lo cual debemos crear una clase para dicha responsabilidad.
Si eliminamos el método printHtmlOutput()
y creamos la clase PrintResult{}
ya estaremos cumpliendo este principio al dejarle a la clase Triangle{}
solo las tareas relacionadas con Triángulos y a la clase printResult{}
solo las tareas relacionadas con la impresión de resultados.
Quedando las clases de la siguiente manera:
Con este sencillo ejemplo se demostró como aplicar el Principio de la responsabilidad única. Para que puedas aplicarlo en tu siguiente desarrollo o refactorizar tus códigos ya creados para dar una impresión mas profesional.
El código se encuentra en el siguiente enlace.
https://github.com/eduesqui/solidExamples