Facade Pattern in Python
Aprende Facade Pattern in Python con un ejemplo práctico que puedes editar y ejecutar online.
¿Qué es Facade Pattern?
Aprende Facade Pattern in Python con un ejemplo práctico que puedes editar y ejecutar online.
¿Cuándo se utiliza?
- Resolver problemas recurrentes de diseño de objetos con estructuras probadas.
- Desacoplar responsabilidades para facilitar la extensión y las pruebas del código.
- Usar un vocabulario de diseño común al hablar de arquitectura con el equipo.
Código de ejemplo
main.py
class Inventory:
# Facade: expose one simple operation over several services.
def reserve(self): return True
class Payment:
def charge(self): return True
class OrderFacade:
def place_order(self):
# Coordinate subsystem operations in the required order.
if Inventory().reserve() and Payment().charge():
return "Order placed"
return "Order failed"
print(OrderFacade().place_order())
Resultado esperado
Order placed
Cómo funciona
Este ejemplo muestra Facade Pattern in Python. Cambia los valores de entrada para explorar el código.
Cambia los valores y ejecuta el programa en el compilador Python online de CodeUtility sin instalar Python.
Ejercicios prácticos
Modifica las entradas y prueba casos límite antes de usar conjuntos de datos mayores.
- Sustituye el dominio del ejemplo conservando la estructura del patrón.
- Compara el patrón con una implementación más sencilla y explica las ventajas y desventajas.
- Escribe pruebas para cada participante antes de añadir otra implementación.