Design pattern: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Blakwolf (discussione | contributi)
Nessun oggetto della modifica
Blakwolf (discussione | contributi)
Nessun oggetto della modifica
Riga 1:
{{avvisodoppione|Design patternspattern}}
{{stub}}
{{stub informatica}}
{{avvisodoppione|Design patterns}}
Un '''design pattern''' è, informalmente, la soluzione generale ad un ''pattern'' di problema ricorrente. Creati in architettura dall'architetto [[Christopher Alexander]], hanno trovato enorme successo in ambito informatico. Il design pattern non entra nel merito della soluzione concreta ma ne delinea la soluzione nei termini generali. L'uso di pattern nella descrizione di altri pattern dà origine ai cosiddetti [[linguaggio di pattern|linguaggi di pattern]]. I linguaggi di pattern sono alla base del concetto [[wiki]].
Un '''Design Pattern''' è la soluzione ad un problema comune quando si programma. Si rifanno ai pattern architettonici sviluppati dall'architetto [[Christopher Alexander]].
Ad esempio, se si desidera eseguire delle funzioni quando un oggetto viene modificato, si userà l'[[Observer Pattern]].
Se si vuole nascondere un insieme di funzionalità o un intero sottosistema ad un utente si userà il [[Facade Pattern]].
Il punto di riferimento su internet è il [http://www.c2.com/cgi/wiki?DesignPatterns Wiki dei pattern] (che tra le altre cose è il primo wiki)
 
== La Gang of Four ==
[[categoria:Teorie dell'informatica]]
L'inizio del movimento pattern in informatica è considerato universalmente il libro [[Design Patterns]], della cosiddetta '''Banda dei quattro''' (''Gang of Four'', Gof). Gli autori, [[Erich Gamma]], [[Richard Helm]], [[Ralph Johnson]] e [[John Vlissides]], sono considerati ovviamente i fondatori del movimento pattern.
 
 
 
==Pattern Creazionali==
* [[Abstract factory pattern|Abstract Factory]]
* [[Builder pattern|Builder]]
* [[Factory method pattern|Factory Method]]
* [[Prototype pattern|Prototype]]
* [[Singleton pattern|Singleton]]
 
==Pattern Strutturali==
* [[Adapter pattern|Adapter]]
* [[Bridge pattern|Bridge]]
* [[Composite pattern|Composite]]
* [[Decorator pattern|Decorator]]
* [[Facade pattern|Facade]]
* [[Flyweight pattern|Flyweight]]
* [[Proxy pattern|Proxy]]
 
==Pattern Comportamentali==
* [[Chain of responsibility pattern|Chain of Responsibility]]
* [[Command pattern|Command]]
* [[Interpreter pattern|Interpreter]]
* [[Iterator pattern|Iterator]]
* [[Mediator pattern|Mediator]]
* [[Memento pattern|Memento]]
* [[Observer pattern|Observer]]
* [[State pattern|State]]
* [[Strategy pattern|Strategy]]
* [[Template method pattern|Template Method]]
* [[Visitor pattern|Visitor]]
 
 
==Voci correlate==
*[[Antipattern]]
 
==Bibliografia==
*[[Erich Gamma|Gamma, E.]], [[Richard Helm|Helm, R.]], [[Ralph Johnson|Johnson, R.]] e [[John Vlissides|Vlissides, J.]], '' [[Design Patterns]]: elementi per il riuso di software a oggetti'', Addison Wesley, [[1995]], ISBN 887192150X
**Originale: ''Design Patterns: Elements of Reusable Object-Oriented Software'', Addison Wesley, [[1995]], ISBN 0201633612
*[[Bruce Eckel|Eckel, B.]], ''[http://www.mindview.net/Books/TIPatterns/ Thinking in Patterns with Java], MindView (draft)
==Collegamenti esterni==
*[http://c2.com/cgi/wiki?WelcomeVisitors Portland Pattern Repository]
*[http://hillside.net/patterns/ Hillside]] Patterns Library
* [http://www.inf.unitn.it/DiplomaUniversitario/JavaCampus/luca_cristoforetti/node16.html Filosofia dei pattern]
 
[[categoriaCategoria:Teorie dell'informatica]]