Pattern
Cosa sono i Pattern?Possiamo definire i Pattern come delle soluzioni documentate, ottimali, già sperimentate, applicate in contesti diversi tra loro ma con problematiche assimilabili.
Sono strettamente correlati alla programmazione ad oggetti perché nelle soluzioni proposte vengono presentate delle classi o interfacce ad ognuna delle quali vengono attribuite delle precise responsabilità. Un obiettivo spesso perseguito è proprio l’indipendenza della soluzione rispetto alla sua implementazione permettendo quindi un effettivo riutilizzo del codice.
I Pattern più conosciuti sono quelli definiti come Design Patterns ma trovano applicazione in diverse discipline. Basti solo pensare che il primo a formalizzare questo concetto è stato un architetto, Christopher Alexander, che sentì l’esigenza di documentare in modo sistematico delle soluzione architettoniche più volte sperimentate.
Da un po’ di anni i Pattern hanno un successo sempre maggiore perché consentono di ottenere non solo dei prodotti migliori perché la loro corretta implementazione garantisce che si sono utilizzate le migliori soluzioni, ma creano un nuovo linguaggio che permette di indicare delle precise problematiche favorendo così la comunicazione tra analisti, progettisti e sviluppatori diventando anche uno strumento di documentazione. Il livello di fermento può essere dedotto dal numero innumerevole di siti internet che se ne occupano, dai numerosi articoli che spesso appaiono a tal proposito sulle riviste specializzate, dal largo utilizzo (spesso anche improprio) del termine e dal numero di pattern di diverse tipologie che aumenta di anno in anno (Ogni anno si tiene il convegno PloP in cui vengono presentati e valutati i nuovi pattern).
E’ importante sottolineare che i pattern hanno come rovescio della medaglia una maggiore difficoltà di approccio visto che si tratta di soluzioni non banali e che spesso si intersecano tra loro: occorre, infatti, una fase di disegno molto accurata affinchè possano emergere tutti i contesti in cui si possano applicare e bisogna evidenziare i limiti (risolvendoli molto spesso con altri pattern).
I siti ufficiali sui Pattern
Esistono 2 siti ufficiali dedicati i pattern:
La Hillside Group ha curato quella che è considerata da tutti come la Home Page ufficiale sui Pattern: costituisce una vera e propria raccolta ragionata di quanto c’è di meglio sul web (in inglese) sui Pattern.
Anche il sitp del Wiki Wiki Web (letteralmente veloce da Wiki Wiki in Hawayano) si possono trovare altre fonti soprattutto come raccolte di linguaggi di pattern.
Perche usare i Pattern?
Per la stessa ragione per la quale si dovrebbe riutilizzare del buon codice. Si può beneficiare della conoscenza ed esperienza di altri che hanno studiato molto più a fondo contesti, forze e soluzioni di quanto ciascuno di noi sa o vuole fare. Inoltre, i pattern sono molto più riutilizzabili rispetto al codice visto che sono adattabili alle circostanze.
Ancora, i pattern forniscono un vocabolario di termini e concetti relativo ai comuni problemi di progetto e sviluppo favorendo la comunicazione.