Así que he empezado a aprender Qt 4.5 y he encontrado que el mecanismo de Señal/Ranura es de ayuda. Sin embargo, ahora me encuentro considerando dos tipos de arquitectura.Llamada de señal/ranura vs. función directa
este es el que yo usaría
class IDataBlock
{
public:
virtual void updateBlock(std::string& someData) = 0;
}
class Updater
{
private:
void updateData(IDataBlock &someblock)
{
....
someblock.updateBlock(data);
....
}
}
Nota: el código inline por razones de brevedad.
Ahora, con señales que pude simplemente
void Updater::updateData()
{
...
emit updatedData(data);
}
Esto es más limpio, reduce la necesidad de una interfaz, pero debería hacerlo sólo porque pude? El primer bloque de código requiere más tipeo y más clases, pero muestra una relación. Con el segundo bloque de código, todo es más "sin forma". Cuál es más deseable, y si es una base de caso por caso, ¿cuáles son las pautas?