Libro Design Patterns in Ruby

Copertina libro Design Patterns in Ruby

Pubblicato quest’anno, Design Patters in Ruby è il primo libro interamente dedicato all’implementazione in Ruby dei principali Design Pattern definiti dalla Gang of Four (GoF).

Design Patterns in Ruby, scritto da Russ Olsen, è edito dalla Addison-Wesley ed è parte della Professional Ruby Series gestita da Obie Fernandez. Questa serie è senza dubbio sinonimo di qualità e garanzia per chi è alla ricerca di un libro su Ruby o Rails.

Rispetto alla media delle mie ultime letture, questa pubblicazione è stata decisamente molto meno impegnativa. Ho consumato il libro in non più di una settimana, dedicando un’oretta al giorno in tram. A patto che abbiate una certa dimestichezza con Ruby ed Object Oriented Programming, Design Patterns in Ruby è una lettura scorrevole e coinvolgente.

Requisiti

Stando alla prefazione dell’autore, per leggere questo libro non è necessaria alcuna particolare competenza né di Ruby né di design pattern. Tuttavia, è consigliata una certa familiarità con le dinamiche dell’object oriented programming.

Confesso di trovarmi parzialmente in disaccordo. Affrontare la lettura di questo libro senza una certa dimestichezza con Ruby potrebbe rivelarsi controproducente, considerando che alcuni design pattern utilizzano caratteristiche come la metaprogrammazione, la riflessione, i moduli, i simboli, i Mixin, blocchi e procedure.

Mentre i primi possono essere aspetti comuni a molti linguaggi, a partire dai simboli in avanti si entra in un territorio tipico di Ruby e pochi altri linguaggi.

Il secondo capitolo del libro offre una breve introduzione a Ruby, ma questi 30 minuti di lettura sono nulla paragonato a qualche mese di programmazione pratica o ad una lettura di qualche pubblicazione specifica, come ad esempio l’eccellente Learn to Program o l’antologia Programming Ruby.

Confermo invece l’affermazione riguardo ad eventuali competenze sui design pattern. Questo libro affronta i principali design pattern sia in forma teorica sia in forma pratica, colmando così eventuali lacune del lettore su argomenti specifici.

Struttura del Libro

Il libro è diviso in tre parti.

La prima parte, Patterns and Ruby, è una veloce introduzione ai design patterns ed al linguaggio di programmazione Ruby. Come già anticipato, non fate troppo affidamento al secondo capitolo dato che non potrà mai fornirvi tutte le basi necessarie per entrare nell’ottica di un linguaggio particolare come Ruby.

La seconda parte, Patterns in Ruby, è il cuore del libro. Ogni capitolo affronta uno dei diversi pattern originariamente discussi dalla GoF, riportando una breve introduzione, esempi pratici di implementazione in Ruby ed alcuni esempi reali di utilizzo, prendendo spunto da librerie Ruby famose come Rails e URI. Al termine di ogni capitolo, un paragrafo riassuntivo riepiloga le principali caratteristiche del design pattern trattato.

La terza parte, Patterns for Ruby, prende in considerazione tre pattern non inclusi nel libro originale ma emersi con l’introduzione e lo sviluppo del linguaggio Ruby.

Design Pattern discussi

Questa è la lista dei design pattern trattati nel libro:

  • Template
  • Strategy
  • Observer
  • Composite
  • Iterator
  • Commands
  • Adapter
  • Proxy
  • Decorator
  • Singleton
  • Factory
  • Builder
  • Interpreter

Questi invece i pattern specifici per Ruby trattati nel terzo capitolo:

  • Domain-Specific Language (DSL)
  • Meta-Programming
  • Convention Over Configuration

In conclusione

Ancora una volta, la Addison-Wesley e la Professional Ruby Serie non ha tradito le aspettative.

Design Patterns in Rubyè una lettura assolutamente consigliata per i programmatori che desiderano ampliare le proprie competenze di sviluppo in Ruby e portare le proprie capacità ad un livello ancora più professionale. I design patterns sono una soluzione professionale ai problemi più comuni legati allo sviluppo di software e dovrebbero essere parte del bagaglio culturale di ogni sviluppatore.

Russ Olsen ha saputo scrivere una pubblicazione facilmente leggibile, fluida e scorrevole. L’organizzazione del libro permette la lettura di singoli capitoli anche a distanza di tempo. L’unica nota dolente è il prezzo, decisamente più elevato rispetto alla media dei libri simili.