Design, Pattern e Refactoring

Ieri ho tenuto un corso introduttivo al design evolutivo cosi come inteso nei metodi Agili. Inutile dire che la maggior parte della discussione è girata intorno a "scelgo un design pattern e lo implemento VS i pattern emergono dal codice tramite refactoring".

Oggi ripensandoci mi è venuta in mente una frase del matematico (e architetto e ingegnere) americano Fuller (1895-1983): "Quando affronto un problema non penso mai alla bellezza, penso a come risolverlo. Ma terminato il lavoro, se la soluzione alla quale sono giunto non è bella sono sicuro di essermi sbagliato".

Ecco, il design per me è cosi: non cerco (ne impongo) a priori uno o più design pattern, penso solo a risolvere il problema di oggi (YAGNI) ma se alla fine (andando di refactoring man mano che aggiungo funzionalità e trovo smell) la soluzione non è "bella" (si avvicina a dei pattern) so che c'e' qualcosa che non va. Mumble mumble...

Print | posted @ domenica 10 ottobre 2004 03:53