Skip to content

Aplicación del patrón Chain of Responsibility en HammingDistance #6438

@val28vv

Description

@val28vv

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
[email protected]

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    awaiting triageAwaiting triage from a maintainer

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions