-
Notifications
You must be signed in to change notification settings - Fork 20
Description
Observer
Para consultar el precio total del carrito, se lo debe calcular manualmente en todo momento. Así mismo, si en algún momento algún producto obtiene un descuento, el nuevo precio también se deberá calcular constantemente. También, solo consideran un tipo de carrito de compra, si en algún futuro existe algún otro tipo con algún beneficio se deberá repetir mucho código y usar muchos condicionales.
SOLUCIÓN: Utilizar el patrón Observer, ya que permite definir un mecanismo de suscripción para notificar a varios objetos sobre cualquier evento que le suceda al objeto que están observando. Es decir, cada que el precio de un producto se vea afectado por un descuento, instantáneamente los carritos de compra donde se encuentre este producto, calculen su precio total considerando el nuevo precio.
Ejemplo con posibles carritos de compra

Strategy
La clase abstracta Drawing ofrece métodos para "dibujar" o "modificar" lineas. Sin embargo, cada que se desee añadir una nueva forma se deberá modificar la clase constantemente.
SOLUCIÓN: Utilizar el patrón Strategy, debido a que todos esos métodos hacen algo específico (dibujar, modificar) solo que de muchas formas diferentes.
