You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Form Template Method
Problema identificado: En la clase Bingo, existe un método llamado iniciarTiempo que se encarga de gestionar un temporizador. Este método realiza varias tareas:
• Incrementa los segundos, minutos y horas.
• Formatea el tiempo transcurrido en una cadena.
• Actualiza la interfaz de usuario con el tiempo formateado.
• Pausa el hilo durante un segundo entre cada actualización.
Es un método muy específico que mezcla la lógica del temporizador con la actualización de la interfaz. Si otras clases del proyecto necesitan un temporizador similar, tendrían que duplicar y adaptar este código, lo que podría llevar a problemas de mantenimiento, duplicación de código, y dificultad para realizar cambios consistentes en todos los temporizadores.
Técnica de refactorización aplicada: Form Template Method, crea un método plantilla y mueve las partes específicas a métodos abstractos en una clase base.
Beneficios de la Refactorización:
• Reutilización de Código: La lógica del temporizador se centraliza en una clase base, permitiendo que múltiples clases la reutilicen sin duplicación.
• Mantenimiento Simplificado: Los cambios en la lógica del temporizador se realizan en un solo lugar, propagándose automáticamente a todas las subclases, lo que reduce la carga de mantenimiento.
• Modularidad y Flexibilidad: La separación de responsabilidades permite que la lógica del temporizador sea independiente, facilitando la personalización y extensión en diferentes contextos.
Solución implementada:
• Antes: La clase Bingo contenía un método iniciarTiempo que gestionaba toda la lógica del temporizador, incluyendo la actualización de segundos, minutos, horas, y la actualización de la interfaz de usuario. Esta implementación mezclaba la lógica del temporizador con la lógica específica de la interfaz, dificultando la reutilización del código.
• Después: El código es más fácil de leer y entender porque las responsabilidades están claramente separadas y organizadas en métodos y clases específicos.
The text was updated successfully, but these errors were encountered:
Form Template Method
Problema identificado: En la clase Bingo, existe un método llamado iniciarTiempo que se encarga de gestionar un temporizador. Este método realiza varias tareas:
• Incrementa los segundos, minutos y horas.
• Formatea el tiempo transcurrido en una cadena.
• Actualiza la interfaz de usuario con el tiempo formateado.
• Pausa el hilo durante un segundo entre cada actualización.
Es un método muy específico que mezcla la lógica del temporizador con la actualización de la interfaz. Si otras clases del proyecto necesitan un temporizador similar, tendrían que duplicar y adaptar este código, lo que podría llevar a problemas de mantenimiento, duplicación de código, y dificultad para realizar cambios consistentes en todos los temporizadores.
Técnica de refactorización aplicada: Form Template Method, crea un método plantilla y mueve las partes específicas a métodos abstractos en una clase base.
Beneficios de la Refactorización:
• Reutilización de Código: La lógica del temporizador se centraliza en una clase base, permitiendo que múltiples clases la reutilicen sin duplicación.
• Mantenimiento Simplificado: Los cambios en la lógica del temporizador se realizan en un solo lugar, propagándose automáticamente a todas las subclases, lo que reduce la carga de mantenimiento.
• Modularidad y Flexibilidad: La separación de responsabilidades permite que la lógica del temporizador sea independiente, facilitando la personalización y extensión en diferentes contextos.
Solución implementada:
• Antes: La clase Bingo contenía un método iniciarTiempo que gestionaba toda la lógica del temporizador, incluyendo la actualización de segundos, minutos, horas, y la actualización de la interfaz de usuario. Esta implementación mezclaba la lógica del temporizador con la lógica específica de la interfaz, dificultando la reutilización del código.
• Después: El código es más fácil de leer y entender porque las responsabilidades están claramente separadas y organizadas en métodos y clases específicos.
The text was updated successfully, but these errors were encountered: