Refactor a patrón Strategy del cálculo de tarifas eléctricas
Visión general
De qué trata este proyecto.
Recibes el código original (Java 17), su suite de tests JUnit (cobertura 72 %) y la especificación de las 5 tarifas actuales. Aplica patrón Strategy: una interfaz CalculoTarifa, una implementación por tarifa, factoría para resolver por tipo de contrato. Asegura que todos los tests existentes pasan sin modificarlos. Añade una sexta tarifa nueva (turno valle 3 periodos) usando solo el nuevo patrón y demuestra con un test que el código existente no se tocó. Entrega: PR con el refactor, todos los tests verdes, documento (4 páginas) explicando el patrón y video corto (5 minutos) mostrando 'añadir tarifa en menos de 1 hora'.
El Briefing
Lo que harás y lo que demostrarás.
Refactorizar una clase Java monolítica de 1.400 líneas a patrón Strategy sin romper tests y demostrar que añadir tarifa nueva es trivial.
Earning criteria — what you'll demonstrate
- Aplicar el patrón Strategy a un caso real de switch monolítico
- Refactorizar bajo red de tests sin perder cobertura
- Explicar polimorfismo con un ejemplo de negocio comprensible
- Demostrar valor del patrón con métrica concreta (tiempo de añadir nueva variante)
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosSoftware Engineer
Refactorizar un monolito de tarifas a patrón Strategy con tests verdes es la habilidad que las empresas españolas piden a juniors Java en entrevistas técnicas reales.
Este proyecto afina
- design-patterns
- refactoring
- java
Backend Engineer
Los patrones de diseño aplicados a lógica de negocio son el pan de cada día del backend engineer en utilities, banca y seguros.
Este proyecto afina
- java
- design-patterns
- junit