Objetivo: Implementar el patrón Estrategia para permitir el cambio dinámico de los algoritmos de cálculo de costos de envío en un sistema de comercio electrónico.
Escenario
Un sistema de comercio electrónico que permite a los usuarios seleccionar diferentes métodos de envío, cada uno con su propio algoritmo de cálculo de costo.
Tareas
Crear una interfaz IEstrategiaEnvio que defina el método para calcular el costo de envío.
Implementar múltiples estrategias concretas de envío que cumplan con IEstrategiaEnvio.
Crear una clase Pedido que utilice una IEstrategiaEnvio para calcular el costo de envío.
Implementar la lógica para cambiar dinámicamente la estrategia de envío en tiempo de ejecución.
Implementación
1. Definición de Clases
Interfaz IEstrategiaEnvio:
Método CalcularCostoEnvio que recibe parámetros como peso del paquete y distancia.
Clase EnvioEstandar: Implementa IEstrategiaEnvio.
Calcula el costo de envío basado en un tarifado fijo por kilómetro.
Clase EnvioExpress: Implementa IEstrategiaEnvio.
Calcula el costo aumentado por la urgencia y la distancia.
Clase Pedido:
Atributos para almacenar detalles del pedido y una referencia a IEstrategiaEnvio.
Método para cambiar la estrategia de envío.
2. Lógica de Interacción
En el momento de finalizar la compra, el usuario puede seleccionar el tipo de envío, lo que provocará que el sistema ajuste el costo según la estrategia correspondiente.
3. Prueba del Sistema
Instanciar un Pedido.
Asignar diferentes estrategias de envío y calcular el costo para verificar que se ajuste según la estrategia elegida.
Objetivo de Aprendizaje
Comprender cómo los objetos en un programa pueden cambiar su comportamiento al volar, adaptando su funcionalidad mediante el uso del patrón Estrategia.
Resolver un problema común en sistemas de comercio electrónico donde se requiere flexibilidad en los métodos de cálculo sin alterar el código cliente.
Actividad del Patrón Estrategia en C
Descripción de la Actividad
Objetivo: Implementar el patrón Estrategia para permitir el cambio dinámico de los algoritmos de cálculo de costos de envío en un sistema de comercio electrónico.
Escenario
Un sistema de comercio electrónico que permite a los usuarios seleccionar diferentes métodos de envío, cada uno con su propio algoritmo de cálculo de costo.
Tareas
IEstrategiaEnvio
que defina el método para calcular el costo de envío.IEstrategiaEnvio
.Pedido
que utilice unaIEstrategiaEnvio
para calcular el costo de envío.Implementación
1. Definición de Clases
Interfaz
IEstrategiaEnvio
:CalcularCostoEnvio
que recibe parámetros como peso del paquete y distancia.Clase
EnvioEstandar
: ImplementaIEstrategiaEnvio
.Clase
EnvioExpress
: ImplementaIEstrategiaEnvio
.Clase
Pedido
:IEstrategiaEnvio
.2. Lógica de Interacción
3. Prueba del Sistema
Pedido
.Objetivo de Aprendizaje