Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERÍA
INGENIERÍA DE SISTEMAS Y COMPUTACIÓN
INGENIERÍA DE SOFTWARE 2
DEFINICIONES
Principio
DIP- Principio de Inversión de Dependencias (Dependency Inversion Principle)
“1. Los módulos de alto nivel no deberían depender de los módulos de bajo nivel. Ambos
deberían depender de abstracciones.
2.Las abstracciones no deberían depender de los detalles. Los detalles deben depender de
abstracciones.”
Lo que se quiere con este principio es que no exista una dependencia entre módulos, si no
que dependan de abstracciones. De esta forma, los módulos pueden ser más fácilmente
reutilizados.
HISTORIA DE USUARIO
GOAL
SMART
SOLUCION
class PaymentService(ABC):
@abstractmethod
class ExternalPaymentService(PaymentService):
class ShoppingCart:
self.payment_service = payment_service
total = amount
self.payment_service.process_payment(total)
external_payment_service = ExternalPaymentService()
# Crear una instancia del carrito de compras, pasando el servicio de pagos como
dependencia
shopping_cart = ShoppingCart(external_payment_service)
# Realizar el pago
shopping_cart.checkout(100)