Patrón de diseño

Los patrones de diseño son soluciones reutilizables para el desarrollo de software. Funcionan como plantillas que los programadores pueden usar al crear aplicaciones. No son específicos de determinados lenguajes de programación, sino que son prácticas recomendadas o heurísticas que se pueden aplicar en diferentes entornos de programación.

Aunque los patrones de diseño no dependen de un lenguaje, suelen incluir objetos o clases. Por lo tanto, normalmente se asocian con la programación orientada a objetos. Los patrones individuales se pueden clasificar en tres categorías diferentes: 1) patrones creacionales, 2) patrones estructurales y 3) patrones de comportamiento.

1. Patrones creacionales

Los patrones de diseño creacionales describen formas de crear objetos mediante métodos adecuados para diferentes situaciones. Por ejemplo, el patrón "Singleton" se usa para crear una clase básica que solo tendrá una instancia. Un ejemplo común es una variable global definida en el código fuente de un programa. El patrón "Object Pool" se usa para crear una clase con un "grupo" de objetos que se pueden recuperar cuando sea necesario, en lugar de volver a crearlos. Esto se usa a menudo para fines de almacenamiento en caché.

2. Patrones estructurales

Los patrones de diseño estructurales definen las relaciones entre objetos. Por ejemplo, el patrón "Private Class Data" se usa para limitar el acceso a una clase específica. Esto puede evitar la modificación no deseada de un objeto. La clase "Decorator", por otro lado, permite agregar comportamientos y estados a un objeto durante el tiempo de ejecución. Esto proporciona a los programadores la flexibilidad de agregar a un objeto tantas clases como sea necesario. Un ejemplo es un avatar en un videojuego que acumula armas, armadura y objetos a lo largo del juego. La clase, apropiadamente llamada "Decorator", proporcionaría un buen marco para este proceso.

3. Patrones de comportamiento

Los patrones de diseño de comportamiento describen el comportamiento de los objetos, como la forma en que se comunican entre sí. Un ejemplo es el patrón "Command", que describe objetos que ejecutan comandos. El patrón "Memento" registra el estado de un objeto para que se pueda restaurar a su estado guardado. Estos dos patrones se pueden usar juntos para realizar operaciones de deshacer y rehacer en un programa.

Resumen

Cada una de las tres categorías incluye varios otros patrones de diseño que los programadores pueden usar. Aunque los patrones proporcionan plantillas útiles para los desarrolladores de software, a veces se los critica por ser innecesarios o no ser lo suficientemente específicos para determinadas aplicaciones. Por lo tanto, aunque los patrones de diseño son herramientas útiles para la programación, no es necesario seguirlos exactamente para crear un programa de software bien diseñado.

Actualizado July 21, 2016 por Per C.

quizPon a prueba tu conocimiento

What type of software produces .MOD and .XM files?

A
Image editor
0%
B
Word processor
0%
C
Music tracker
0%
D
CAD designer
0%
Correct! Incorrect!     View the Music Tracker definition.
More Quizzes →

El diccionario informático Tech Terms

La definición de Patrón de diseño en esta página es una definición original escrita por los autores de TechTerms.com. Si desea hacer referencia a esta página o citar esta definición, utilice la barra de cita verde directamente debajo de la definición.

Nuestro objetivo es explicar la terminología informática de manera sencilla y comprensible. Nos esforzamos por la precisión y la claridad en cada definición que publicamos. Si tiene comentarios o desea sugerir un nuevo término técnico, contáctenos.

El boletín de Tech Terms

¡Mejora tu conocimiento técnico con nuestro boletín diario o semanal! Suscríbete hoy y recibe nuevos términos y cuestionarios en tu bandeja de entrada.

Suscríbase al boletín gratuito de TechTerms

¿Con qué frecuencia desea recibir un correo?

Puede cancelar su suscripción o cambiar la frecuencia en cualquier momento usando los enlaces disponibles en cada correo. ¿Preguntas? Contáctenos.

Nota: El boletín se envía en inglés.