Sono alcuni giorni che sono alle prese con i metodi di notifica.
Chiaramente ho totalmente disatteso (ancora) il piano di studi. Volevo studiarmi un pò la creazione di oggetti come dio comanda ma mi ha più affascinato invece il discorso delle notifiche.
Facendo un pò di ricerche in giro e leggendo la guida di shinkuro si arriva a:
per notificare (far colloquiare) tra loro i componenti non è detto che necessariamente si debba farli parlare tramite metodi oop. Si può usare anche la tecnica del "callback hooking". In breve ci si aggancia (hooking appunto) a basso livello (tramite dei puntatori a funzione) a delle funzioni di sistema ulteriori (callback) per alterarne il comportamento: ho la funzione di sistema a che fa il caffè ma non lo zucchera. trovo il suo "punto di aggancio". mi ci aggancio con una funzione mia che fa il caffè con lo zucchero facendo finta che questa sia la funzione originale. ogni qualvolta il sistema chiamerà la funzione del caffè, non verrà eseguita l'originale bensì la mia versione modificata. Questo è quel che ho capito. Ma non mi piace se è così. Mi sembra tanto una tecnica da hacking e non da programmazione pulita. Sicuramente ho capito io male (e qualcuno più esperto starà ridendo) perchè mi sembra assurdo che poi sia così diffusa. Posso capirlo trenta anni fa laddove c'erano dei limiti tecnici (pare che il c.hook fosse una tecnica standard nella programmazione amiga classic) ma oggi come oggi, con l'oop mi sembra assurda. Ho capito ancor più male perchè ieri sera leggendo un bel sito di un gruppo amighista polacco (non ricordo il nome) in cui c'era una miriade di autodoc si incoraggiava l'uso delle funzioni callback in spregio dell'uso di metodi oop. Essendo autodoc mui immagino che l'autore sia stato proprio l'autore di mui. Ripeto sono io che continuo a non capire. Nel frattempo io continuo a usare il mio bel muim.
Nessun commento:
Posta un commento