Los patrones de diseño son soluciones probadas a problemas comunes de programación. En Python, estos patrones ayudan a los ingenieros a escribir código eficiente, sostenible y escalable. Entendiendo estos patrones pueden mejorar el diseño de software y los procesos de desarrollo.

Patrones creacionales

Las pautas de creación se centran en los mecanismos de creación de objetos, con el objetivo de crear objetos de una manera adecuada a la situación, que ayudan a reducir la complejidad y a aumentar la flexibilidad del código.

  • Singleton:] Garantiza que una clase tenga sólo un caso y proporcione un punto de acceso global a ella.
  • Método de fábrica: Define una interfaz para crear un objeto pero permite que subclases alteren el tipo de objetos que se crearán.
  • Fábrica de Resumen: Proporciona una interfaz para crear familias de objetos relacionados o dependientes sin especificar sus clases de hormigón.

Patrones estructurales

Los patrones estructurales tratan con la composición de objetos, ayudando a organizar código y hacerlo más flexible y más fácil de extender.

  • Adapter: Permite que las interfaces incompatibles trabajen juntas convirtiendo la interfaz de una clase en otra esperada por los clientes.
  • Decorador:] Añade nuevas funcionalidades a los objetos dinámicamente sin alterar su estructura.
  • Facade: Proporciona una interfaz simplificada a un subsistema complejo.

Patrones conductuales

Los patrones conductuales se centran en la comunicación entre objetos, definiendo cómo interactúan y distribuyen responsabilidades.

  • Observador: Define una dependencia de una a otra persona entre objetos para que cuando un objeto cambia de estado, todos sus dependientes sean notificados.
  • Estado: Permite seleccionar el comportamiento de un algoritmo en tiempo de ejecución definiendo una familia de algoritmos.
  • Comandante: Encapsula una solicitud como objeto, permitiendo la parametrización de clientes con colas, solicitudes y operaciones.