Design pattern: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
+come è fatto un pattern
Riga 1:
{{stub informatica}}
{{nota disambigua|descrizione=il libro|titolo=[[Design Patterns]]}}
Un '''design pattern''' è,si informalmente,può ladefinire in modo conciso come una soluzione generale ad un problema ricorrente. CreatiInventati inizialmente per lnell'ambito dell'[[architettura]] dall'architetto [[Christopher Alexander]], hanno trovato enorme successo in ambito informatico. Il design pattern fornisce: (i) il nome, (ii)soprattutto lnell'intento,ambito (iii)della il[[programmazione contestoorientata cheagli specifica quando il pattern e' utile, (iv) una soluzione concreta ed, a volte alcuni frammenti di un'implentazione in un linguaggio specificooggetti]].
----
 
Un '''design pattern''' è, informalmente, la soluzione generale ad un problema ricorrente. Creati inizialmente per l'[[architettura]] dall'architetto [[Christopher Alexander]], hanno trovato enorme successo in ambito informatico. Il design pattern fornisce: (i) il nome, (ii) l'intento, (iii) il contesto che specifica quando il pattern e' utile, (iv) una soluzione concreta ed, a volte alcuni frammenti di un'implentazione in un linguaggio specifico.
Un ''design pattern'' è costituito da:
 
* ''il nome'', costituito da una o due parole che siano il più possibile rappresentative del pattern stesso;
* ''il problema'', ovvero la descrizione della situazione alla quale si può applicare il pattern. Può comprendere la descrizione di [[Classe (informatica)|classi]] o di problemi di progettazione specifici, come anche una lista di condizioni perchè sia necessario l'utilizzo del pattern;
* ''la soluzione'', che descrive gli elementi costitutivi del progetto con le relazioni e relative implicazioni, senza però addentrarsi in una specifica implementazione. Il concetto è di presentare un problema astratto e la relativa configurazione di elementi adatta a risolverlo;
* ''le conseguenze'', i risultati e i vincoli che derivano dall'applicazione del pattern. Sono fondamentali in quanto possono essere l'ago della bilancia nella scelta dei pattern: le conseguenze comprendono considerazioni di tempo e di spazio, possono descrivere implicazioni del pattern con alcuni linguaggi di programmazione e l'impatto con il resto del progetto.
 
L'uso di [[pattern]] nella descrizione di altri pattern dà origine ai cosiddetti [[linguaggio di pattern|linguaggi di pattern]].