jueves, 12 de julio de 2012

Implementando SOLID - SRP

Como parte del taller de principios solid que hicimos con los amigos de Kleer, junto con Nelo y Juan nos propusimos explicar paso por paso como implementamos los principios tomando los ejemplos de http://solidexamples.codeplex.com/

Así que vamos a empezar por el principio de responsabilidad única (single responsability / SRP), que nos dice que una clase debe tener una única razón para cambiar.

Esta es la resolución de Nelo: http://nelopauselli.blogspot.com.ar/2012/07/implementado-solid-srp.html
la de Martín Collhttp://blog.martincoll.com.ar/refactorizando-para-cumplir-con-srp/
la de Juan Tripodehttp://altaprogramacion.blogspot.com.ar/2012/08/srp-single-responsibility-principle.html

El ejemplo trata de una aplicación winform que permite abrir un xml de productos y mostrarlos en una grilla. En este se programa todo "atrás del botón"
El formulario es responsable de la persistencia, de recuperar la información (de un archivo) y de conocer el formato (xml). El primer paso que proponemos es encapsular esto en un repositorio, por lo que nos quedaría algo así: Ahora el repositorio es responsable de recuperar datos, abrir el archivo y convertir de xml a objetos. Vamos a quitarle la responsabilidad de abrir el archivo: Y la responsabilidad de convertir xml a objetos: Ahora el repositorio tiene otra responsabilidad, la de conocer sus dependencias. Pero esto es otro principio. saludos!

No hay comentarios.: