Patterns in Ruby: factory
Il factory pattern non descrive altro che un’oggetto che genera un’altro oggetto rispondendo alla domanda di quale classe? Esistono due varianti il factory method e l’factory abstract, l’esempio che segue è preso da wikipedia, ed è l’implementazione classica del factory method scritta in java:
Lo stesso approccio in ruby risulterebbe come segue:
In ruby tuttavia la versione classica del pattern è praticamente estinta a favore di approcci più dinamici e ruby-ish. Ad esempio in ActiveRecord è presente qualcosa di simile:
dove i metodi mysql_connector e oracle_connector “adattano” l’oggetto ActiveRecord::Base al tipo di database specificato.

Yummm :D