Patrón de diseño: descripción general

Los patrones de diseño representan las mejores prácticas utilizadas por los desarrolladores de software orientados a objetos con experiencia. Los patrones de diseño son soluciones a los problemas generales que enfrentan los desarrolladores de software durante el desarrollo de software. Numerosos desarrolladores de software obtuvieron estas soluciones mediante prueba y error durante un período de tiempo considerable.

¿Qué es Gang of Four (GOF)?

En 1994, cuatro autores Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides publicaron un libro titulado Design Patterns - Elements of Reusable Object-Oriented Software que inició el concepto de patrón de diseño en el desarrollo de software.

Estos autores se conocen colectivamente como Gang of Four (GOF). Según estos autores, los patrones de diseño se basan principalmente en los siguientes principios de diseño orientado a objetos.

  • Programa en una interfaz, no en una implementación

  • Favorecer la composición de objetos sobre la herencia

Uso del patrón de diseño

Los patrones de diseño tienen dos usos principales en el desarrollo de software.

Plataforma común para desarrolladores

Los patrones de diseño proporcionan una terminología estándar y son específicos para un escenario particular. Por ejemplo, un patrón de diseño singleton significa el uso de un solo objeto, por lo que todos los desarrolladores familiarizados con el patrón de diseño único harán uso de un solo objeto y pueden decirse entre sí que el programa sigue un patrón singleton.

Mejores prácticas

Los patrones de diseño se han desarrollado durante un largo período de tiempo y brindan las mejores soluciones a ciertos problemas que se enfrentan durante el desarrollo de software. El aprendizaje de estos patrones ayuda a los desarrolladores sin experiencia a aprender a diseñar software de una manera fácil y rápida.

Tipos de patrones de diseño

Según el libro de referencia de patrones de diseño Design Patterns - Elements of Reusable Object-Oriented Software, hay 23 patrones de diseño que se pueden clasificar en tres categorías: patrones de creación, estructurales y de comportamiento. También discutiremos otra categoría de patrón de diseño: patrones de diseño J2EE.

SNPatrón y descripción
1Creational Patterns
Estos patrones de diseño proporcionan una forma de crear objetos mientras se oculta la lógica de creación, en lugar de crear instancias de objetos directamente utilizando un operador nuevo. Esto le da al programa más flexibilidad para decidir qué objetos deben crearse para un caso de uso dado.
2Structural Patterns
Estos patrones de diseño se refieren a la composición de clases y objetos. El concepto de herencia se utiliza para componer interfaces y definir formas de componer objetos para obtener nuevas funcionalidades.
3Behavioral Patterns
Estos patrones de diseño se refieren específicamente a la comunicación entre objetos.
4J2EE Patterns
Estos patrones de diseño se refieren específicamente al nivel de presentación. Sun Java Center identifica estos patrones.