Ho
rispolverato il mio primo articolo per Mokabyte. Il titolo
era: "Framework e pattern: documentare con i pattern".
Si trattava del primo di tre articoli incentrati sui pattern
e il loro utilizzo nell'architettura di un'applicazione.
È con grande piacere che riprendo l'argomento per
questa edizione speciale del numero 100 di Mokabyte. Sono
felice e fiero non solo per il traguardo editoriale della
vostra/nostra pubblicazione di fiducia, ma anche per il
fatto che argomenti portati cinque o sei anni fa sono
ancora più che attuali. Già questo, nel
nostro campo, è un evento per cui festeggiare...
L'aspetto
che ho sempre apprezzato dei design pattern è
il loro doppio ruolo di strumenti di design da una parte
e di elementi in stretta prossimità con il codice
dall'altra. Tenevo già corsi di progettazione
software a quei tempi e mi interessava maggiormente
la parte estetica dei pattern.
Avevo un rapporto simile con Mokabyte. Mi interessavano
gli articoli per il lato informativo teorico che riuscivo
a estrarre (c'erano parecchi argomenti da portare a
lezione), meno per quello pratico, anche se ero già
allora attivo in progetti di sviluppo.
Nell'articolo in questione dicevo che i pattern elevano
il ruolo dello sviluppatore da semplice programmatore
ad architetto dell'applicazione, grazie anche al grado
sempre maggiore di astrazione dei linguaggi di programmazione.
Sono tuttora convinto di questo, ma non è tutto.
I pattern come siamo abituati a conoscerli, rappresentano
il riutilizzo di design, l'astrazione di un'architettura
che può essere ripresa ed applicata ad altri
contesti. Anche per questo motivo i pattern vengono
considerati qualcosa di leggero, quasi di estetico nei
vari elementi ed aspetti di un programma.
Poi,
assieme a Mokabyte, si è evoluto anche il mio
curriculum. Con alcuni amici di università e
altri colleghi conosciuti in progetti nel settore bancario,
ho preso la grande decisione di partecipare alla creazione
di una ditta: Canoo.
Da allora l'interesse per i pattern, così come
quello per gli articoli di Mokabyte, è cambiato.
Ho capito che i pattern sanno anche essere tremendamente
concreti. Permettono di semplificare in modo incredibile
l'architettura di un software, facilitandone la comprensione
e l'utilizzo da parte di terzi. Lo stesso vale per parecchi
articoli di Mokabyte. Oltre alla teoria, viene data
grande importanza agli aspetti pratici, portando esempi
concreti e listati di codice.
Per un esempio sui pattern, mi si conceda (visto che
mi concerne direttamente), di citare l'architettura
del prodotto ULC di Canoo. Si tratta di una libreria
che permette lo sviluppo di applicazioni Web completamente
in Java ad alto grado di interattività (anche
dette RIA, rich internet application, oppure applicazioni
rich thin client). La libreria permette di esporre la
API di Swing a livello server, in modo che lo sviluppatore
dell'applicazione si riferisca ai widgets grafici pur
mantenendo l'applicazione lato server.
La "sfida" consiste nel rendere la libreria
sufficientemente snella e semplice da utilizzare, dando
allo sviluppatore una visione omogenea dell'applicazione.
Ebbene nell'architettura di ULC sono coinvolti almeno
due pattern fondamentali, senza i quali il software
rischierebbe di essere tremendamente complesso: il pattern
HOPP (Half-Object Plus Protocol) e il pattern Adapter.
Non è questa la sede per entrare nel dettaglio
dei due modelli. Vorrei però continuare il parallelo
con Mokabyte.
Con i suoi articoli mensili è diventato un punto
di riferimento irrinunciabile. Non riesco sempre a leggere
tutto, ma ogni mese attendo con ansia la lista dei titoli
per cercare di approfondire almeno un paio di temi.
Mokabyte mi permette in poco tempo e in modo efficace
di sapere quali sono i temi più attuali del mondo
Java. È una realtà virtuale, ma che si
è evoluta nel tempo fino a diventare assolutamente
viva, utile e concreta che accompagna tutti noi nella
nostra attività. Viva, utile e concreta
come i pattern.
|