Desarrollo de aplicaciones web 04-04-25
Patrones de diseño
La utilización de patrones de diseño muestra la madurez de un programador de software ya que
utiliza soluciones probadas para problemas concretos. Los patrones de diseño son una practica
que se debe perfeccionar y practicar como es necesario conocer las ventajas y desventajas que
ofrece cada una de ellas, pero, sobre todo, requiere de experiencia par identificar donde se
deben utilizar.
La mas importante de su utilización es que evita tener que reinventar la rueda, ya que son
escenarios identificados y su solución es documentada y probada para lo que no es necesario
comprobar su efectividad. Los patrones de diseño se basan en las mejores prácticas de
programación
Tipos de patrones de diseño
Nos ayudaran a resolver problemas muy concretos y a pesar de que cada uno de estos intenta
resolver un problema distinto, se clasifican en 3 grandes grupos.
Patrones creacionales
Patrones estructurales
Patrones de comportamiento
a) Completar los conceptos de cada patrón
b) Desarrollar los tipos que contienen patrones creacionales
c) ¿Qué es un patrón de diseño?
d) ¿En que consiste el patrón?
e) ¿Quién invento los patrones de diseño?
f) ¿Qué es un buen diseño? ¿Qué practica debemos llevar a cabo para lograrlo?
Fecha de entrega: 07/04/25
¿Qué es un patrón de diseño?
Un patrón de diseño es una solución general reutilizable a un problema común que ocurre con
frecuencia en el desarrollo de software. No es un código específico, sino una guía o estructura
que se puede adaptar a diferentes situaciones dentro de un proyecto de programación.
¿En qué consiste el patrón?
Consiste en identificar un problema recurrente dentro del diseño de software y aplicar una
solución que ha sido probada previamente, mejorando así la eficiencia, mantenimiento y
escalabilidad del código. Su uso permite evitar errores comunes y optimizar el tiempo de
desarrollo.
¿Quién inventó los patrones de diseño?
Los patrones de diseño fueron formalizados por primera vez en el desarrollo de software por los
autores del libro "Design Patterns: Elements of Reusable Object-Oriented Software" (1994),
conocidos como la Banda de los Cuatro (Gang of Four):
Erich Gamma
Richard Helm
Ralph Johnson
John Vlissides
¿Qué es un buen diseño? ¿Qué práctica debemos llevar a cabo para lograrlo?
Un buen diseño en programación es aquel que es flexible, reutilizable, fácil de entender,
mantener y escalar. Para lograrlo debemos practicar:
Modularidad
Principios SOLID
Separación de responsabilidades
Uso adecuado de patrones de diseño
Documentación clara
Completar los conceptos de cada patrón
Patrones Creacionales
Se enfocan en la manera de crear objetos sin necesidad de especificar la clase exacta del objeto
que se va a crear. Ayudan a desacoplar el código de la lógica de instanciación.
Tipos:
1. Singleton: Garantiza que una clase tenga una única instancia y proporciona un punto de
acceso global.
2. Factory Method: Define una interfaz para crear un objeto, pero permite que las
subclases decidan qué clase instanciar.
3. Abstract Factory: Permite crear familias de objetos relacionados sin especificar sus
clases concretas.
4. Builder: Separa la construcción de un objeto complejo de su representación.
5. Prototype: Permite copiar objetos existentes sin depender de sus clases.
Patrones Estructurales
Se ocupan de la composición de clases u objetos, formando estructuras más grandes y flexibles
sin modificar su código.
Ejemplos:
Adapter
Composite
Decorator
Proxy
Facade
Bridge
Flyweight
Patrones de Comportamiento
Se centran en la comunicación entre objetos, cómo interactúan y cómo se reparten las
responsabilidades.
Ejemplos:
Observer
Strategy
Command
State
Template Method
Mediator
Iterator
Visitor
Chain of Responsibility
Memento
Interpreter