A medida que continúa intentando descubrir nuevas funciones en sus aplicaciones, ¿encuentra que las soluciones que propone son muy similares a algunas cosas que ha implementado antes? Si eres programador (incluso si llevas poco tiempo empezando), probablemente hayas respondido "sí". Parece que está utilizando algún código antiguo para resolver problemas recién descubiertos durante el desarrollo de software. Es posible que se haya dado cuenta de que su solución es un principio fundamental, un método que puede ser repetido ampliamente no solo por usted sino por todos los desarrolladores profesionales.
De hecho, muchos problemas de programación se encuentran repetidamente y han surgido muchos métodos básicos (o patrones de diseño) para resolverlos. Un patrón de diseño es una plantilla que le enseña cómo organizar su código utilizando diseños auténticos y confiables.
Historia del patrón de diseño
El término "patrón de diseño" se acuñó originalmente en el campo de la arquitectura. En su libro de 1977 "A Pattern Language: Towns/Building/Construction", Christopher Alexander describe algunos problemas comunes de diseño arquitectónico y explica cómo utilizar una colección de patrones existentes y conocidos para iniciar diseños nuevos y efectivos. La perspectiva de Alexander se traduce bien en el desarrollo de software y existe un consenso a largo plazo sobre el uso de componentes existentes para construir nuevas soluciones.
Todos los patrones de diseño tienen algunas características comunes: un nombre, un planteamiento del problema y una solución.
1. La identificación de un patrón de diseño es importante porque permite que otros programadores comprendan inmediatamente el propósito de su código sin tener que estudiar demasiado profundamente (al menos a través de esta identificación, los programadores estarán familiarizados con este patrón). ? 2. La descripción del problema se utiliza para ilustrar el campo de aplicación de este modelo. ? 3. La solución describe la ejecución de este modelo. Una buena discusión sobre un patrón de diseño debería cubrir las ventajas y desventajas de utilizar el modelo. ?