Java User Group Torino

JavaDay Roma 2010 English spoken people, click here
AltriJug
Articoli
Blog
Bookmarks
ChiSiamo
Cinema
Eventi
FAQ
IscriversiAlJug
FunnyJug
HobbiesAndSports
ImparareNuoveCose
JavaJobs
JavaTraining
Libri
MailingList
Meeting
News
ProgettiAttivita
Shop
Software
StoriaDelJug
SunItalia

RSS Feed
RSS Meetings Feed


I have joined Anti-IF Campaign


Spread Firefox Affiliate Button






CoordinamentoJug
PagineDiServizio
Manutenzione
DesignPatterns

Perché questo documento
Queste pagine le ho scritte per raccogliere in maniera pratica e velocemente consultabile una serie di appunti tratti dal libro dei design pattern GoF. Si tratta principalmente di una traduzione in sintesi dall'inglese all'italiano delle parti salienti di tale libro, oltre che un adattamento dei sorgenti e degli esempi al linguaggio Java. Il libro infatti contiene una serie di esempi in C++ Smalltalk etc. Dei sorgenti Java, una parte li ho trovati rovistando in giro tra i gruppi di studenti per le certificazioni SCEA, e quelli che mancavano li ho implementati. Spero che questi appunti possano essere un'utile fonte di consultazione per chi legge le pagine di questo sito. Non sarebbe male estendere la raccolta di Pattern con quelli riguardanti J2EE, o magari pattern inventati da zero o come composizione di più pattern per risolvere uno specifico problema. Stiamo a vedere :-)
~LuigiViggiano

Design Patterns
I patterns furono introdotti da Christopher Alexander negli anni '70. Lui comprese che c'erano alcune soluzioni che potevano essere applicate ripetutamente a problemi simili. Ed è anche possibile combinare queste soluzioni per creare nuove soluzioni a nuovi problemi.

La definizione che Christopher Alexander diede ai pattern è riportata di seguito:

"Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice"
[Christopher Alexander, A Pattern Language:Towns/Buildings/Construction, © 1977, page x].


Questa frase è riferita alla costruzione di città. Ma può essere applicata anche al design object oriented.

Nel 1994 Erich Gamma, Richard Helm, John Vlissides e Ralph Johnson pubblicarono il famoso libro "Design Patterns: Elements of Reusable Object-Oriented Software" che descrisse un modo di documentare i pattern che è diventato lo standard industriale. Gli autori di questo libro sono spesso riferiti come "the Gang of Four" (GoF).

Una definizione più semplice di Design Pattern è la seguente: un design pattern è una soluzione comune a un problema comune nello sviluppo del software.

I pattern vengono descritti in termini di:

Name : una etichetta utilizzata per identificare il problema, la soluzione e le conseguenze di un pattern. Questo nome dev'essere descrittivo e mantenuto di una o due parole.
Description : una breve descrizione del pattern, un diagramma UML, e il codice d'esempio sono utilizzati per definire il pattern.
Benefits : descrive i vantaggi dell'uso del pattern specifico.
When to Use : descrive quando utilizzare il pattern.

Nel design del software, indipendentemente dalla tecnologia utilizzata, vengono riconosciuti, secondo la "classificazione GoF", 3 categorie di Patterns:

  • CreationalPatterns - Supportano la creazione di oggetti in un sistema senza dover identificare una specifica classe. Aiutano cioè a costruire un sistema indipendente da come i suoi oggetti sono creati, composti e rappresentati. Un creational pattern usa l'ereditarietà per variare la classe che viene instanziata.
  • StructuralPatterns - Controllano le relazione tra grosse porzioni di applicazione e migliorano la riusabilità e le funzionalità del sistema.
  • BehavioralPatterns - Riguardano gli algoritmi e l'assegnazione delle responsabilità tra gli oggetti. Descrivono gli oggetti e le classi, la loro comunicazione e collaborazione, ottimizzando il modo con cui lo stato del sistema viene trasmesso e modificato. Semplificano e aumentano la manutenibilità dell'applicazione.

Vedete anche qui:
http://sourcemaking.com/design_patterns


DesignPatterns is mentioned on: Articoli

VQWiki includes notification systems; however, you have not yet become a member.



VeryQuickWiki Version 2.7.1 | Admin

Powered By...
Logo Csp

Content of this site is Copyright (C) 2003 JUG Torino and its members. Java and all Java based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Other trademarks are registered by respective owners.