Sto costruendo un sistema di monitoraggio che, beh, monitora una serie di dispositivi, richiedendo periodicamente vari tipi di informazioni su ogni dispositivo, come lo stato corrente, le informazioni di rete e così via.
Per riassumere tutte le informazioni che voglio avere una tabella con una riga per dispositivo e una colonna per ogni campo visualizzabile .
Ho una classe Device
che incapsula le informazioni e delega i vari mezzi per ottenere ogni informazione (dato che alcuni stanno ottenendo l'invio di ping, altri sono ottenuti tramite API, ecc.). Ogni dispositivo è presumibilmente aggiornato. Tutti i dispositivi sono raggruppati in un DeviceManager
.
D'altra parte ho un DeviceTableModel
che viene inviato a QTableView
. Attualmente quando il modello deve inviare informazioni alla vista tabella, chiede al gestore dispositivi il dispositivo appropriato e quindi chiede al dispositivo il campo necessario.
Trovo questo design troppo accoppiato e sto pensando di aggiungere qualcosa come un DeviceProxyModel
all'interfaccia tra il modello di tabella e i dispositivi. L'interfaccia del dispositivo è comunque abbastanza semplice, con una miriade di getter, quindi non sono sicuro su come procedere.