Design pattern: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
web
Smallpox (discussione | contributi)
revert vandalismo
Riga 1:
{{stub informatica}}
http://www.video-post.com/main.html --[[Utente:Pasquale damaro|Pasquale damaro]] 20:21, 23 gen 2006 (CET)
{{nota disambigua|descrizione=il libro|titolo=[[Design Patterns]]}}
----
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.
 
L'uso di pattern nella descrizione di altri pattern dà origine ai cosiddetti [[linguaggio di pattern|linguaggi di pattern]].
 
== La Gang of Four ==
L'inizio del movimento pattern in informatica è considerato universalmente il libro [[Design Patterns]], della cosiddetta '''Banda dei quattro''' (''[[Gang of four|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]]==
 
I pattern creazionali nascondono i costruttori delle classi e mettono dei metodi al loro posto creando un'interfaccia. In questo modo si possono utilizzare oggetti senza sapere come sono implementati.
 
* [[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]]
 
==Pattern di metodologia==
*[[Make it run, make it right, make it fast, make it small]]
 
==Voci correlate==
*[[Antipattern]]
*[[Framework]] object-oriented
 
==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]
*[http://home.earthlink.net/~huston2/dp/patterns.html Pagina dei pattern di Vince Huston ]
 
[[Categoria:Teorie dell'informatica]]
 
[[de:Entwurfsmuster]]
[[en:Design pattern (computer science)]]
[[es:Patrón de diseño]]
[[fr:Motif de conception]]
[[he:Design pattern (מדעי המחשב)]]
[[ja:デザインパターン]]
[[lt:Projektavimo pavyzdys]]
[[nl:Design pattern]]
[[pl:Wzorzec projektowy]]
[[pt:Padrões de Projeto]]
[[ru:Шаблоны проектирования]]
[[sv:Designmönster]]
[[zh:软件设计模式]]