Così ho iniziato a imparare Qt 4.5 e ho trovato che il meccanismo Signal/Slot era di aiuto. Tuttavia, ora mi trovo a considerare due tipi di architettura.Chiamate di funzione/slot rispetto a chiamate dirette
questo è quello che avrei usato
class IDataBlock
{
public:
virtual void updateBlock(std::string& someData) = 0;
}
class Updater
{
private:
void updateData(IDataBlock &someblock)
{
....
someblock.updateBlock(data);
....
}
}
Nota: il codice inline per brevità.
Ora con segnali solo potessi
void Updater::updateData()
{
...
emit updatedData(data);
}
Questo è più pulita, riduce la necessità di un'interfaccia, ma devo fare solo perché ho potuto? Il primo blocco di codice richiede più digitazione e più classi, ma mostra una relazione. Con il secondo blocco di codice, tutto è più "senza forma". Qual è il più desiderabile, e se è un caso per caso, quali sono le linee guida?