-
Notifications
You must be signed in to change notification settings - Fork 20.1k
Description
What would you like to share?
Informe Técnico: Mejora para HammingDistance
Autor: Valentina Falconi
Fecha: 23/07/25
Problemas y Soluciones
Chain of Responsibility para cálculo de Hamming Distance
Problema: El método compute de la clase HammingDistance está acoplado, realizando validaciones y procesamiento dentro del mismo bloque. Esto limita la extensibilidad y dificulta agregar nuevas reglas o validaciones.
Solución: Implementar una cadena de responsabilidades mediante clases individuales: ValidateBinaryHandler, ValidateLengthHandler y ComputeHammingHandler, todas derivadas de la clase abstracta HammingHandler. Cada clase se encarga de una responsabilidad y delega al siguiente paso.
Beneficio: Permite separar las responsabilidades y facilita la extensión del procesamiento sin modificar código existente. El flujo de validación y cálculo se puede adaptar dinámicamente.
Impacto
- Código desacoplado y extensible
- Aplicación clara del principio de responsabilidad única
- Facilita agregar nuevas reglas sin romper el código
Recomendación: Implementar en rama feature/patterns-chain-hamming.
Valentina Falconi
valentina.falconi@espol.edu.ec
Additional information
No response