Patrones de diseño: qué son y por qué debes usarlos

Los patrones de diseño son una herramienta muy útil. Cualquier programador debería conocer, por lo menos, los patrones más utilizados, ya que nos resuelven varios problemas.

 

¿Qué son los patrones de diseño?

Los patrones de diseño son soluciones para problemas típicos y recurrentes que nos podemos encontrar a la hora de desarrollar una aplicación.

Aunque nuestra aplicación sea única, tendrá partes comunes con otras aplicaciones: acceso a datos, creación de objetos, operaciones entre sistemas etc. En lugar de reinventar la rueda, podemos solucionar problemas utilizando algún patrón, ya que son soluciones probadas y documentadas por multitud de programadores.

 

¿Por qué usar patrones de diseño?

Si queremos desarrollar aplicaciones robustas y fáciles de mantener, debemos cumplir ciertas “reglas”. Siempre podemos decidir no aplicarlas. Aunque si no lo hacemos, hay que ser conscientes de la razón de no aplicarlas y de sus consecuencias.

Los patrones de diseño nos ayudan a cumplir muchos de estos principios o reglas de diseño. Programación SOLID, control de cohesión y acoplamiento o reutilización de código son algunos de los beneficios que podemos conseguir al utilizar patrones.

¿Cuántos patrones de diseño existen? ¿Tengo qué conocerlos todos?

Patrones de diseño hay muchos. Muchísimos. Y siguen apareciendo patrones nuevos cada poco tiempo. El desarrollo de aplicaciones es una disciplina en constante cambio. Por tanto los problemas a los que nos enfrentamos los desarrolladores también cambian. Así que las herramientas utilizadas, también se van actualizando y mejorando.

Es imposible conocer todos los patrones de diseño. Lo más útil es tener un catalogo de patrones que podamos consultar. A la hora de desarrollar una aplicación, podremos consultar nuestro catálogo buscando patrones que nos ayuden a solucionar problemas de diseño concretos.

Algunos ejemplos de catálogos podemos encontrarlos en OODesign, en la Wikipedia, o el ya famoso libro Design Patterns: Elements of Reusable Object-Oriented Software, cuyos autores son conocidos como La banda delos cuatro.

¿Qué tipos de patrones existen?

Existen diversas maneras de agrupar los patrones de diseño.Quizá la más extendida es agruparlos según su propósito. En este caso tendríamos las siguientes categorías:

Patrones creacionales: utilizados para instanciar objetos, y así separar la implementación del cliente de la de los objetos que se utilizan.Con ellos intentamos separar la lógica de creación de objetos y encapsularla.

Patrones de comportamiento: se utilizan a la hora de definircomo las clases y objetos interaccionan entre ellos.

Patrones estructurales: utilizados para crear clases u objetos que incluidos dentro de estructuras más complejas.

¿Puedo desarrollar nuevos patrones?

Cada poco tiempo aparecen nuevos patrones o revisiones delos ya existentes. Es algo lógico si tenemos en cuenta que nuestra forma de programar está evolucionando continuamente. Nuevos frameworks, nuevas plataformas, nuevos tipos de acceso a datos etc.

Por tanto, es factible que cualquiera pueda “descubrir”un nuevo patrón. Lógicamente el supuesto patrón deberá ser puesto a prueba por la comunidad de desarrolladores. Para ello deberá demostrar que es nuevo, que es correcto y que es útil para solucionar problemas comunes de desarrollo. Un patrón no será tal si solo sirve para solucionar un problema específico de nuestra aplicación.

 

 

 

 

 

 

Fuente: http://www.genbetadev.com/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *