Caratteristiche
Quando possiamo parlare di Pattern?“I Pattern sono fondamentalmente una scuola di pensiero che si può applicare a qualsiasi attività”.
In questo ottimo articolo viene spiegato quali sono le caratteristiche principali di un pattern: un problema, un contesto, una soluzione. Viene puntualizzato, inoltre, di come si tratti di una modalità di approccio diversa rispetto a quella che si ha di fronte ad un problema: viene, infatti, definita come problem-oriented e non solution-oriented. “Il primo passo per entrare nella mentalità dei pattern è imparare a chiedersi ‘quale è il problema’ piuttosto che ‘quale è la soluzione’”.
E’ importante sottolineare come i pattern debbano essere generici ma concreti: devono quindi essere sufficientemente astratti per poter essere applicati in diversi contesti ma devono portare a soluzioni concrete. Non è un caso che il GoF sia per la maggior parte dedicato ad esemplificazione dei pattern riportati. I pattern sono dinamici, tant’è che spesso si combinano assieme tanto da parlare di linguaggi di pattern. “Nessun pattern può risolvere da solo tutti i problemi in un contesto: solo una combinazione di pattern può riuscirci..”La qualità senza nome
Alexander parlava di qualità senza nome come “c’è una caratteristica nelle cose naturali che è creata dal fatto che sono riconciliate con le loro forze interne”. Nel software è il risultato che ci parla di questo tipo di qualità. In particolare Coplien (uno dei primi ad occuparsi di pattern) ebbe a dire “un buon progetto anticipa ciò che cambierà e ciò che resterà lo stesso nel tempo”.
E’ interessante notare come i pattern siano, per loro stessa natura, un mezzo per perseguire il riuso del codice tanto agognato dai programmatori. Non solo, i pattern aiutano ad ottenere un progetto migliore perché si adottano soluzioni già esperimentate con successo ma permette di ottenere come conseguenza un codice più leggibile e manutenibile. Alexander ebbe a dire che “la qualità viene in parti uguali dall’artista e dal costruttore che con le sue mani plasma la geometria che dà all’edificio le sua qualità e il suo carattere”.
(Da La qualità senza nome)