La maggior parte degli strumenti GUI utilizza oggi il modello Signals + Slots. Era Qt e GTK +, se non sbaglio, chi lo ha fatto da pioniere.
Sai, i widget o gli oggetti grafici (a volte anche quelli che non vengono visualizzati) inviano segnali al gestore dell'anello principale. Il gestore ad anello principale chiama quindi gli eventi , callback o slot assegnati per quel widget / oggetto grafico. Di solito ci sono gestori di eventi predefiniti (e in molti casi virtual
) già forniti dal toolkit per la gestione di tutti i segnali predefiniti, quindi, a differenza dei progetti precedenti in cui lo sviluppatore doveva scrivere l'intero ciclo principale e il gestore per ciascuno e ogni messaggio stesso (pensa WINAPI), lo sviluppatore deve solo preoccuparsi dei segnali di cui ha bisogno per implementare nuove funzionalità.
Ora questo disegno viene utilizzato nella maggior parte dei moderni toolkit per quanto ne so. Ci sono Qt, GTK +, FLTK ecc. C'è Java Swing. C # ha anche una funzione linguistica (eventi e delegati) e Windows Form è stato sviluppato su questo progetto. In effetti, negli ultimi dieci anni, questo design per la programmazione GUI è diventato una sorta di standard non scritto. Dal momento che aumenta la produttività e fornisce una maggiore astrazione.
Tuttavia, la mia domanda è:
Esiste un design alternativo, parallelo o pratico per la moderna programmazione della GUI?
i.e è il design Signals + Slots, l'unico pratico in città? È possibile eseguire la programmazione GUI con qualsiasi progetto altro ? Esistono toolkit GUI moderni (preferibilmente di successo e popolari) basati su un design alternativo?