Patrones de diseño de pandillas de cuatro (GoF)

Gangs of Four Design Patterns es la colección de 23 patrones de diseño del libro “Patrones de diseño: elementos de software orientado a objetos reutilizable”.

Este libro se publicó por primera vez en 1994 y es uno de los libros más populares para aprender patrones de diseño. Los autores del libro fueron Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides. Recibió el apodo de “Gangs of Four” (Gangs de cuatro patrones de diseño) debido a los cuatro autores. Además, recibió un nombre más corto como “GoF Design Patterns” (Patrones de diseño GoF).

Tipos de patrones de diseño de GoF

Los patrones de diseño de GoF se dividen en tres categorías:

  1. Creacional : Los patrones de diseño que tratan con la creación de un objeto.
  2. Estructural : Los patrones de diseño en esta categoría tratan la estructura de clases, como la herencia y la composición.
  3. Conductual : este tipo de patrones de diseño brindan soluciones para una mejor interacción entre objetos, cómo proporcionar un acoplamiento flexible y flexibilidad para extenderse fácilmente en el futuro.

Patrones de diseño creacional

Hay 5 patrones de diseño en la categoría de patrones de diseño creacional.

Nombre del patrón Descripción
Semifallo El patrón singleton restringe la inicialización de una clase para garantizar que solo se pueda crear una instancia de la clase.
Fábrica El patrón de fábrica asume la responsabilidad de instanciar un objeto de la clase a una clase Factory.
Fábrica abstracta Nos permite crear una Fábrica para clases de fábrica.
Constructor Creando un objeto paso a paso y un método para finalmente obtener la instancia del objeto.
Prototipo Crear una nueva instancia de objeto a partir de otra instancia similar y luego modificarla según nuestros requisitos.

Patrones de diseño estructural

Hay 7 patrones de diseño estructural definidos en el libro de patrones de diseño Gangs of Four.

Nombre del patrón Descripción
Adaptador Proporciona una interfaz entre dos entidades no relacionadas para que puedan trabajar juntas.
Compuesto Se utiliza cuando tenemos que implementar una jerarquía de partes y todo. Por ejemplo, un diagrama formado por otras partes como un círculo, un cuadrado, un triángulo, etc.
Apoderado Proporcionar un sustituto o marcador de posición para otro objeto para controlar el acceso a él.
Peso mosca Almacenamiento en caché y reutilización de instancias de objetos, utilizadas con objetos inmutables. Por ejemplo, grupo de cadenas.
Fachada Creación de interfaces envolventes sobre interfaces existentes para ayudar a las aplicaciones cliente.
Puente El patrón de diseño de puente se utiliza para desacoplar las interfaces de la implementación y ocultar los detalles de implementación del programa cliente.
Decorador El patrón de diseño decorador se utiliza para modificar la funcionalidad de un objeto en tiempo de ejecución.

Patrones de diseño de comportamiento

Hay 11 patrones de diseño de comportamiento definidos en los patrones de diseño de GoF.

Nombre del patrón Descripción
Método de plantilla Se utiliza para crear un fragmento de método de plantilla y aplazar algunos de los pasos de implementación a las subclases.
Mediador Se utiliza para proporcionar un medio de comunicación centralizado entre diferentes objetos de un sistema.
Cadena de responsabilidad Se utiliza para lograr un acoplamiento flexible en el diseño de software, donde una solicitud del cliente se pasa a una cadena de objetos para procesarlos.
Observador Útil cuando estás interesado en el estado de un objeto y quieres recibir notificaciones cada vez que haya algún cambio.
Estrategia El patrón de estrategia se utiliza cuando tenemos varios algoritmos para una tarea específica y el cliente decide la implementación real que se utilizará en tiempo de ejecución.
Dominio El patrón de comando se utiliza para implementar el acoplamiento suelto en un modelo de solicitud-respuesta.
Estado El patrón de diseño de estado se utiliza cuando un objeto cambia su comportamiento en función de su estado interno.
Visitante El patrón visitante se utiliza cuando tenemos que realizar una operación en un grupo de objetos de tipo similar.
Intérprete define una representación gramatical de un idioma y proporciona un intérprete para tratar esta gramática.
Iterador Se utiliza para proporcionar una forma estándar de atravesar un grupo de objetos.
Recuerdo El patrón de diseño memento se utiliza cuando queremos guardar el estado de un objeto para poder restaurarlo más tarde.

Conclusión

Los patrones de diseño Gangs of Four sientan las bases de los patrones de diseño básicos en programación. Existen muchos otros patrones de diseño creados sobre la base de estos patrones para requisitos específicos.

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

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

Scroll al inicio