Creo que el mejor enfoque sería abrazar el marco que está utilizando y utilizar la señal/ranuras.
Dicho esto, si el código en cuestión funciona, y no es feo o problemas que causan, entonces usted puede ser mejor dejarlo solo.
Consulta del Signal/Slot documentation describe por qué el enfoque/ranura de la señal es mejor:
devoluciones de llamada tienen dos defectos fundamentales: En primer lugar , no son de tipo seguro. Nosotros nunca podemos estar seguros de que la función de procesamiento llame a la devolución de llamada con los argumentos correctos. En segundo lugar, la devolución de llamada es fuertemente acoplado a la función de procesamiento de ya que la función de transformación deberá know que devolución de llamada para llamar.
cosas sean conscientes de lo siguiente sin embargo:
En comparación con devoluciones de llamada, señales y ranuras son ligeramente más lento debido a la mayor flexibilidad que proporcionan
La velocidad probablemente no importa para la mayoría de los casos, pero puede haber algunos casos extremos de llamadas repetidas que hacen la diferencia.
cuidado con su uso plazo, el cambio de las devoluciones de llamada de tipo C a señales/ranuras suena más como una reescritura no es un refactor en este caso. Si estuviera cambiando el código en una biblioteca, podría salirse con la suya con un refactorizador, pero si se usa en toda la aplicación, lo más probable es que esté cruzando territorio de reescritura. No quiero ser tan exigente, pero la gente a menudo usa demasiado el término refactor para referirse simplemente al cambio. –
El código está ubicado dentro de una biblioteca en particular. En otros lugares estamos usando señales y ranuras ya. Gracias por tu comentario. –