Sono stato un programmatore Python da 7 anni e sto progettando con PyQt da oltre 3 anni ... Ma non sono un Comp Sci classico. maggiore. Più recentemente ho imparato Go e ho seguito attivamente lo Golang-nuts discussion list che è pieno di sviluppatori estremamente intelligenti. Da questo gruppo di discussione, ho visto molti riferimenti a modelli di progettazione del software, come Observer, Reactor, ecc. Anche perché non sono un CS maggiore, non ho mai veramente imparato tutta questa terminologia e teoria, ma mi ha fatto chiedere ...Quali modelli di progettazione software presentano i framework GUI comuni?
Quali schemi di progettazione fanno i comuni framework GUI come Qt, wx, GTK?
Ho la sensazione che sia una miscela di pattern per componenti diversi, come il loop di eventi vs segnale/slot o binding vs Key-value observing, e così via. Mi piacerebbe sentire una spiegazione o generalizzazione su come questi schemi software si adattino ai componenti tradizionali di questi framework.
Come un elemento secondario a questa domanda: Esistono framework GUI che tentano di adottare un approccio di pattern completamente diverso a una soluzione GUI? Cocoa/objective-c usa gli stessi pattern di ciclo degli eventi di questi altri?
Aggiornamento
Per aiutare a restringere il focus della mia domanda, e sulla base della risposta da @HDDimon, sto principalmente chiedo su modelli di comportamento (comunicazione):
http://en.wikipedia.org/wiki/Design_Patterns#Behavioral_patterns
Grazie mille per queste informazioni. Sono molto familiare con MVC come piuttosto comune ad altri framework. Sicuramente controllerò le tue referenze. Ma speravo anche che qualcuno avrebbe focalizzato la loro risposta in modo più specifico sui popolari framework GUI e sui loro metodi di comunicazione. Il ciclo degli eventi, segnala slot, kvo, passaggio di messaggi/eventi, ecc. Potrei ovviamente leggere un libro su schemi generali di progettazione, ma volevo ascoltare esempi diretti e specifici di questi framework GUI. Qualche informazione in più? – jdi