Patrones de Diseño y Principios SOLID
Patrones de Diseño y Principios SOLID en Python
Principios SOLID
Principio de Responsabilidad Única (SRP) en Python
Procesador de Pagos con Stripe en Python
Aplicar el Principio de Responsabilidad Única (SRP)
Principio Abierto/Cerrado (OCP) en Python
Aplicar el Principio Abierto/Cerrado (OCP)
Principio de Sustitución de Liskov (LSP) en Python
Aplicar el Principio de Sustitución de Liskov (LSP)
Principio de Segregación de Interfaces (ISP) en Python
Aplicar el Principio de Segregación de Interfaces (ISP)
Principio de Inversión de Dependencias (DIP) en Python
Aplicar el Principio de Inversión de Dependencias (DIP)
Reestructuración del proyecto
Reestructuración de un proyecto en Python
Patrones de Diseño
Introducción a los Patrones de Diseño
Patrón Strategy en Python
Implementando el Patrón Strategy
Patrón Factory en Python
Implementando el Patrón Factory
Patrón Decorator en Python
Implementando el Patrón Decorador: Mejora tu Servicio de Pagos
Patrón Builder en Python
Implementando el Patrón Builder: Construye Servicios de Pago
Patrón Observer en Python
Implementando el Patrón Observer
Patrón Chain of Responsibility en Python
Implementando el Patrón Chain of Responsibility: Flujo Eficiente de Validaciones
Patrones de Diseño y Principios SOLID en un Procesador de Pagos
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
El principio de sustitución de Liskov nos permite escribir código flexible y reutilizable, pero también requiere que todas las clases o protocolos cumplan con una firma coherente. En esta clase, hemos aplicado este principio en Python reemplazando las clases abstractas con protocolos y detectando un bug deliberado que rompe este principio. Vamos a analizar cómo lo resolvimos y cómo aseguramos que las clases de notificación sean intercambiables sin modificar el código base.
Notifier
y el PaymentProcessor
fueron convertidos en protocolos.SMSNotifier
.SendConfirmation
no cumpliera con la firma requerida, ya que estaba aceptando un parámetro adicional: SMSGateway
.EmailNotifier
, lo que viola el principio de sustitución de Liskov.Aportes 8
Preguntas 2
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?