[ruby-it] GOF Patterns in Ruby
Massimiliano Mirra
rubyitlist a hyperstruct.net
Ven 2 Feb 2007 23:51:48 CET
On 2/2/07, Paolo Donā <paolo.dona a seesaw.it> wrote:
> Riusciamo a portare qualche esempio pratico di utilizzo dei pattern? Ovvero
> riusciamo a dimostrare quando il pattern ha risolto un problema in un
> dominio specifico?
Mi sono trovato a mettere codice che gestisce comunicazioni di rete (o
altre comunicazioni asincrone) in una certa forma ricorrente. Una
forma ricorrente č un pattern, ma non so se questa abbia un nome...
Esempio: invio un comando all'altro lato della connessione, e quando
arriva la risposta reagisco in qualche modo (es. mostro un requester).
Il programma nel frattempo non deve congelarsi. Di solito si
avrebbero tutti i gestori di input remoto in un unico luogo, attivati
da un evento basato sulla categoria dell'input. A me servivano
gestori one-shot e serviva vederli in modo lineare. Pseudocodice:
sendCommand(
"foo", proc { |answer|
display(answer)
})
E la definizione di sendCommand:
def sendCommand(command, reaction)
reactionWrapper = proc {
reaction()
networkLayer.unregisterHandler('on' + command, reaction)
}
networkLayer.registerHandler('on' + command, reactionWrapper)
networkLayer.send(command)
end
My .02ptrn.
--
Massimiliano Mirra
code: http://dev.hyperstruct.net
blog: http://blog.hyperstruct.net
Maggiori informazioni sulla lista
Ml