jueves, 22 de enero de 2015

Buenas prácticas de programación:

Principios de diseño SOLID - Single Responsability (2/6)
El primer principio corresponde a la 'S' y es el de Única Responsabilidad [Single Responsability Principle].

Éste principio establece que no debe de haber más de una responsabilidad (razón para cambiar) en una clase.

Para representar un ejemplo de la vida real podemos tomar las navajas suizas, donde en un solo objeto encontramos múltiples herramientas, eso hace que si debemos reemplazar una sola de las herramientas tengamos que desensamblar todas las demás herramientas. 




En cambio, si tenemos cada una de las herramientas por separado, podemos darle mantenimiento a cada una de las herramientas sin afectar el funcionamiento del resto de las herramientas.







Ahora podemos ver un ejemplo en código, supongamos que tenemos el siguiente código:


































Podemos ver que en la clase Figura se realiza más de una acción (calcular el área de un triángulo y el área de un cuadrado), dejando de lado el principio de responsabilidad única. En éste caso podemos utilizar polimorfismo para solucionar éste problema.

El primer paso es crear una interfaz Ifigura donde definiremos el método CalcularArea(), posteriormente crearemos una clase Triangulo y una clase Cuadrado que implementen la interfaz:



















Posteriormente codificaremos la clase que utlizará esas dos clases, la llamaremos Cliente:














 
De esta forma, nuestra clase cliente necesitará el mínimo mantenimiento e incluso podemos agregar nuevas figuras sin tener que modificar el cliente.

El siguiente tema es: "Open/Closed"