Uso de `switch`
Los bloques switch extensos pueden ser difíciles de mantener. Una alternativa más limpia es usar estructuras de datos como objetos o mapas.
Ejemplo Malo:
Problema: Los bloques
switchoif-elseextensos son propensos a errores y difíciles de escalar.
Solución: Usar estructuras como mapas permite que el código sea más escalable y limpio.
Ejemplo Bueno:
1. Ejemplo, eliminación de switch mediante clases y herencia. #
Ejemplo Malo:
Ejemplo Bueno:
Mediante Herencia y Polimorfismo creamos una clase base Jugador y subclases específicas para cada tipo de personaje. Cada subclase implementa su propia lógica para calcular el golpe, eliminando la necesidad de usar un switch.
Resumen del tema
Conceptos clave #
- El Problema del
switchRepetitivo: estructurasswitcho cadenas largas deif-elsebasadas en tipos suelen repetirse en varios puntos del código y violan el principio Open/Closed (OCP). - Reemplazo por Polimorfismo: sustituir la lógica condicional por clases derivadas o estrategias que implementan el comportamiento específico de cada tipo.
- Mantenibilidad: agregar un nuevo tipo requiere crear una nueva subclase sin modificar el código cliente existente.
Qué debes recordar #
Sustituye bloques switch dependientes de tipos por polimorfismo o el patrón Strategy para que agregar nuevas variantes no requiera modificar código existente.