Patrones de diseño. Introducción

Una de las cosas que los programadores saben hacer es  resolver los problemas no partiendo sólo de principios generales, sino usar soluciones que ya han funcionado antes.

Por eso es normal encontrarse con patrones de clases recurrentes en muchos sistemas orientados a objetos. Un desarrollador familiarizado con dichos patrones puede aplicarlos directamente a sus propios problemas de diseño sin tener que inventar la rueda.

Los patrones de diseño son patrones de este tipo. Siguen los principios básicos de programación,aparecen recurrentemente como soluciones a problemas de algún tipo,han sido probados una y otra vez a lo largo de los años y han demostrado su eficacia, incluso se han ganado un nombre.

Conocerlos permite crear código que es más legible, reusable y mantenible. Además permite una mejor comunicación entre programadores.

En esta serie se explorarán algunos de los patrones básicos definidos por el Gang Of Four y sus implementaciones en algunos lenguajes, como Java y Javascript. También se explicarán sus ventajas y desventajas. Cuando es recomendable usarlos y cuando no. Finalmente se mencionan ejemplos de su uso en aplicaciones conocidas.

Comencemos con una clasificación básica:

Patrones creacionales:

Abstraen el proceso de instanciación de objetos. Ayudan a hacer un sistema independiente de cómo se crean, componen y representan sus objetos.

Los patrones más populares de este tipo son  Singleton y Factory.

Patrones Estructurales:

Se ocupan de como clases y objetos son compuestos para formar estructuras mas grandes.

En estos patrones generalmente aparecen jerarquías  y “envolturas”, como en Proxy, Composite, Adapter o Decorator.

Patrones de Comportamiento:

Se ocupan de los algoritmos y la asignación de responsabilidades entre objetos.

Como su nombre lo dice aquí también aparecen patrones de comportamiento, como interaccionan los objetos. No son solo patrones de clases.

Algunos de los más comunes son Observer, Template, Strategy y Command.

Que se les estudie por separado no significa que los patrones no puedan utilizarse en combinación. Incluso han surgido patrones mas complejos que combinan a los mas simples. Sin embargo, Si debe hacerse por propia cuenta debe hacerse con cuidado, recordando siempre los principios generales de programación. Si crees no conocerlos o no recordarlos bien no te preocupes. La siguiente entrada de la serie será un breve repaso.

Advertisements
Patrones de diseño. Introducción

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s