[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