Sigamos con nuestro framework de persistencia (FWP). Para el mismo necesitamos conocer algo de "patrones". Analicemos qué son los patrones y sus ventajas/desventajas.
¿Qué es un patrón? En nuestro caso nos metemos de lleno a los patrones de diseño.
Un patrón de diseño busca resolver problemas de diseño similares con una "receta" similar.
Tengamos en cuenta que la mayoría de las veces nos enfrentamos a problemas de diseño casi idénticos pero no necesariamente iguales, de ahí surge el énfasis en la palabra "similar".
Entonces, un patrón en esta definición criolla de "receta", es un conjunto de interfaces BIEN definidas las cuáles deberían ser implementadas en el problema PARTICULAR por el desarrollador para dar solución al problema de diseño concreto.
Seguramente notaron una vez más las bondades y la BONDAD de la reutilización de la POO (Programación Orientada a Objetos)1. Y sí, si queremos tener una "receta" común a problemas similares debemos programar garantizando su extensibilidad y reutilización.
Entonces, la gran ventaja de los patrones de diseño está dada en su definición. Re-utilizar código, NO volver "nunca más" a reescribir esa porción de código qué tan difícil sea hace llevar de un lado a otro (ó de un programa a otro), ¿por qué?, porque los patrones son "abstractos" en el sentido que no están orientados hacia un problema en particular, sino a un problema de diseño "global", en cambio nuestro código de un lado a otro SÍ estarían implementados concretamente a un problema particular, invadiendo su portabilidad.
Ok, ¿Desventajas de los patrones de diseño? Indefectiblemente consume tiempo de desarrollo, muchas veces injusto para nuestro programa. Y surge algo similar a los frameworks, cuándo utilizar y cuándo no utilizarlos, cuándo estamos ante el "abuso" de los patrones de diseño. Definitivamente se gana con la experiencia, no existe otra forma.
¿Dónde encontrar patrones de diseño? En internet. También recomiendo fervorosamente el libro de Patrones de Diseño de Erich Gamma.
Pues, parece todo muy lindo, pero sigo sin entender el concepto y las ventajas de los patrones de diseño. Nada mejor que un ejemplo para esta situación. Vamos a ver el Patrón Singleton en el siguiente capítulo, algo sencillo para comenzar.
Antes de saludar, quiero encarecidamente resaltar un aspecto sumamente importante en todo ámbito de la vida. La retroalimentación. Me gustaría enormemente que cada cosa que desearan compartir, criticar, preguntar, reflexionar, etc. las hagan llegar con su comentario. De ésta manera todos nos veremos favorecidos.
Nada más gente. ¡A programar!
No hay comentarios:
Publicar un comentario