Que es un patron de diseño

Que es un patron de diseño

Wikipedia

Este artículo necesita citas adicionales para su verificación. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado.Buscar fuentes:  «Patrón de decoración» – noticias – periódicos – libros – erudito – JSTOR (junio de 2013) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)

Este artículo está escrito como un manual o guía. Por favor, ayude a reescribir este artículo desde un punto de vista descriptivo y neutral, y elimine los consejos o instrucciones. (Abril 2020) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)

En la programación orientada a objetos, el patrón decorador es un patrón de diseño que permite añadir comportamiento a un objeto individual, de forma dinámica, sin afectar al comportamiento de otros objetos de la misma clase[1] El patrón decorador es a menudo útil para adherirse al Principio de Responsabilidad Única, ya que permite dividir la funcionalidad entre clases con áreas de interés únicas[2] El uso de decoradores puede ser más eficiente que la subclasificación, porque el comportamiento de un objeto puede ser aumentado sin definir un objeto completamente nuevo.

Tipos de patrones de diseño

Los patrones de diseño representan las mejores prácticas utilizadas por los desarrolladores de software orientado a objetos con experiencia. Los patrones de diseño son soluciones a problemas generales a los que se enfrentan los desarrolladores de software durante el desarrollo de éste.

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 (Patrones de diseño – Elementos de software orientado a objetos reutilizables) que inició el concepto de patrón de diseño en el desarrollo de software.

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 singleton harán uso de un solo objeto y podrán decirse unos a otros que el programa está siguiendo un patrón singleton.

Los patrones de diseño han evolucionado durante un largo periodo de tiempo y proporcionan las mejores soluciones a ciertos problemas que se plantean durante el desarrollo de software. El aprendizaje de estos patrones ayuda a los desarrolladores sin experiencia a aprender el diseño de software de una manera fácil y rápida.

Patrón de diseño singleton

En ingeniería de software, un patrón de diseño de software es una solución general y reutilizable para un problema que se presenta comúnmente dentro de un contexto dado en el diseño de software. No es un diseño acabado que pueda transformarse directamente en código fuente o máquina. Se trata más bien de una descripción o plantilla de cómo resolver un problema que puede utilizarse en muchas situaciones diferentes. Los patrones de diseño son las mejores prácticas formalizadas que el programador puede utilizar para resolver problemas comunes al diseñar una aplicación o sistema.

Los patrones de diseño orientados a objetos suelen mostrar las relaciones e interacciones entre clases u objetos, sin especificar las clases u objetos finales de la aplicación que están involucrados. Los patrones que implican un estado mutable pueden ser inadecuados para los lenguajes de programación funcional. Algunos patrones pueden resultar innecesarios en los lenguajes que tienen soporte incorporado para resolver el problema que intentan resolver, y los patrones orientados a objetos no son necesariamente adecuados para los lenguajes no orientados a objetos.

Patrones de diseño estructural

En ingeniería de software, el patrón singleton es un patrón de diseño de software que restringe la instanciación de una clase a una «única» instancia. Esto es útil cuando se necesita exactamente un objeto para coordinar acciones en todo el sistema.

El patrón de diseño singleton es uno de los veintitrés conocidos patrones de diseño «Gang of Four» que describen cómo resolver problemas de diseño recurrentes para diseñar software orientado a objetos flexible y reutilizable con el objetivo de facilitar la implementación, el cambio, la prueba y la reutilización de objetos[1].

En esencia, el patrón singleton obliga a responsabilizarse de que sólo se instancie una vez. Un constructor oculto -declarado privado o protegido- asegura que la clase nunca puede ser instanciada desde fuera de la clase. Se puede acceder a la operación estática pública utilizando el nombre de la clase y el nombre de la operación, por ejemplo, Singleton.getInstance().

Los críticos consideran que el singleton es un anti-patrón en el sentido de que se utiliza con frecuencia en escenarios en los que no es beneficioso porque a menudo introduce restricciones innecesarias en situaciones en las que una clase singleton no sería beneficiosa, introduciendo así el estado global en una aplicación[5][6][7][8].

Entradas relacionadas

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad