[ruby-it] GOF Patterns in Ruby
Giovanni Corriga
giovanni a corriga.net
Ven 2 Feb 2007 01:27:34 CET
Il giorno ven, 02/02/2007 alle 00.46 +0100, chiaro scuro ha scritto:
> ne approfitto per girare un link a chi non conoscesse ancora i pattern:
> http://www2.ing.puc.cl/~jnavon/IIC2142/patexamples.htm
>
> è una carrellata rapida e divertente, con esempi molto concreti
Aggiungerei il Portland Pattern Repository: http://c2.com/ppr/ .
> ma non trovi che molti pattern 'classici' evaporino in ruby? tanti di quei
> pattern ad esempio servono per aggirare i limiti di un linguaggio statically
> typed.
In realtà non direi. Quello che capita è che alcuni pattern siano
talmente ubiqui nella libreria standard che se non ci si fa attenzione
non si pensa ad essi come pattern. #each implementa il pattern Iterator,
ad esempio. #new implementa il Factory Method. #initialize è un Template
Method.
L'uso di un pattern può essere più evidente in un linguaggio statically
typed perché le idiosincrasie del linguaggio ti costringono ad inserire
interfacce, classi base astratte o simili che fanno risaltare il
pattern. Ad esempio in JUnit c'è un'interfaccia Test che specifica quali
metodi devono essere implementati da TestCase e TestSuite. In Test::Unit
TestCase e TestSuite derivano direttamente da Object e si limitano ad
implementare gli stessi metodi.
Giovanni
Maggiori informazioni sulla lista
Ml