Patrones de diseño en Java

Hola a todos y bienvenidos a esta nueva entrada del blog. En esta nueva entrega trataremos uno de los temas más importantes a la hora de resolver problemas en programación, se trata de cómo abordar la resolución de los mismos apoyándonos en los llamados “Patrones de Diseño“.

Patrones de diseño

Tras muchos años de trabajo, mucho trabajo en aprendizaje y uso respecto a los patrones de diseño en Java, en este artículo voy a reflejar algunos de ellos y establecer ejemplos de los más importantes. Espero que sean de utilidad a más de uno de vosotros.

Por supuesto no vamos a reinventar la rueda crear lo que ya está creado y validado, os daré ejemplos de uso referenciando a otras webs que, previamente ya he consultado yo y creo que explican y ejemplifican de manera perfecta todos los conocimientos necesarios para entender cada patrón de diseño.

Si no estás familiarizado con los patrones de diseño de software, puedes acudir inicialmente a la Wikipedia:

http://en.wikipedia.org/wiki/Design_Patterns

En la ingeniería de software, un patrón de diseño es una solución reutilizable general a un problema que ocurre comúnmente en el diseño de software. Un patrón de diseño no es un diseño acabado que se puede implementar directamente en código, si no que hay que aplicarlo a un problema real y adaptarlo en la medida de lo posible.

La utilidad de los patrones de diseño se explica así por esta cita:

“Los patrones de diseño pueden acelerar el proceso de desarrollo, proporcionando a prueba, los paradigmas de desarrollo probadas.”

Como a todos nos gusta programar más rápido, y no nos gusta tener que inventar mil paradigmas ni laberintos para resolver un problema, los patrones de diseño son una buena idea para ello.

Los patrones de diseño – Historia y clasificación

Los patrones de diseño se hicieron famosos en el libro “la banda de los cuatro”, posteriormente pasaron a describirse en otros libros de diseño como “The Design Patterns Smalltalk” originándose así el campo de la arquitectura. Cabe mencionar al autor Christopher Alexander como uno de los más destacados en este tema.

Los patrones de diseño se han dividido en al menos tres categorías:

  1. Patrones de creación
  2. Patrones estructurales
  3. Patrones de comportamiento

De acuerdo con esta organización, este artículo está organizado de la misma manera:

Los patrones de diseño en Java

Aunque se pretende que los patrones de diseño sean independientes de los lenguajes de programación, es muy útil para mostrar reconocerlos y entenderlos usar implementaciones en diferentes idiomas.

Por lo tanto, para tratar específicamente para ayudar a los programadores de Java, usaré ejemplos específicos con ejemplos Ejemplos con el lenguaje JAVA.

Ejemplos de patrones de diseño de tipo ‘Creacional’

Según Wikipedia, “los patrones de diseño creacional son los patrones de diseño que tienen que ver con los mecanismos de creación de objetos, tratando de crear objetos de una manera adecuada a la situación.”

Os dejo unos enlaces a los patrones de diseño más usados:

Factory Method Design Pattern
Abstract Factory Design Pattern
Builder Design Pattern
Object Pool Design Pattern
Prototype Design Pattern
Singleton Design Pattern

Ejemplos de patrones de diseño de tipo ‘Estructural’

Según Wikipedia, “los patrones de diseño estructural son los patrones de diseño que facilitan el diseño mediante la identificación de una forma sencilla de darse cuenta de las relaciones entre las entidades.”

Aquí están los enlaces a los patrones de diseño de este tipo:

Adapter Design Pattern
Bridge Design Pattern
Composite Design Pattern
Decorator Design Pattern
Facade Design Pattern
Flyweight Design Pattern
Private Class Data
Proxy Design Pattern

Ejemplos de patrones de diseño de tipo ‘Comportamiento’

Según Wikipedia, “los patrones de diseño de comportamiento son los patrones de diseño que identifican patrones comunes de comunicación entre los objetos y se dan cuenta de estos patrones. Al hacerlo, estos patrones de aumentar la flexibilidad en la realización de esta comunicación “.

Los patrones de diseño de este tipo son:

Chain of Responsibility
Command Design Pattern
Interpreter Design Pattern
Iterator Design Pattern
Mediator Design Pattern
Memento Design Pattern
Null Object Design Pattern
Observer Design Pattern
State Design Pattern
Strategy Design Pattern
Template Method Design Pattern
Visitor Design Pattern

 

Un libro genial sobre todo esto es: “Oreilly Head First Design Patterns

Para finalizar me gustaría dejaros a todos este esquema resumen que encontré por internet mientras realizaba este artículo, creo que resume de manera efectiva todos ellos:

Resumen Patrones Diseño

Resumen Patrones Diseño

Espero que os sean útiles los ejemplos mostrados que os he pasado y os sirvan a la hora de realizar e implementar soluciones elegantes y efectivas a vuestros problemas en el día a día del analista  😀

¡Hasta la próxima!

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s