Al Real Code Day parleremo anche del pattern Strategy

Il pattern STRATEGY è un design pattern della famiglia GOF, utilizzato per selezionare un algoritmo al volo a runtime in base a determinate condizioni, un po' come succede per le strategie belliche durante un conflitto armato... :)

Il pattern è utile in quelle situazioni in cui sia necessario cambiare al volo un algoritmo utilizzato in una applicazione. Lo strategy si propone di fornire un modo per definire una famiglia di algoritmi, incapsulare ciascuno di essi in un oggetto e renderli intercambiabili tra di loro. Questo implica che ciascun algoritmo può variare indipendentemente dall'uso che ne viene fatto.

Con il discorso dei provider, questo pattern oggi è di gran moda. Viene solitamente impiegato insieme all'abstract factory per garantire l'indipendenza tra l'oggetto creato dal factory e il contesto di chiamata dell'oggetto stesso. Di fatto l'algoritmo di creazione di un oggetto cambia in base alla configurazione dell'applicazione. Un esempio che mi viene in mente su due piedi è quello del SqlClientFactory che implementa la classe astratta DBProviderFactory e che espone una serie di metodi di creazione che ritornano i tipi concreti relativi all'accesso a SQL Server.

Nella mia sessione al Real Code Day mostrerò questo pattern che nel caso specifico ho utilizzato per incapsulare la logica di accesso ai dati e per caricare il data mapper corrispondente all'entità in uso. In base al mapper caricato dal contesto di chiamata cambia il tipo di entità utilizzata e la modalità di accesso ai dati.

Per una visione dello schema delle classi del pattern si può consultare questo link:
http://www.dofactory.com/Patterns/PatternStrategy.aspx.

Nella stessa categoria

Commenti
TrackBack scrive:
Real Code Day

Alessandro Ghioldi
Il 26 Ottobre a Firenze giornata Real Code!Viste le
precedenti esperienze e visto il
programma di quello...

15/10/2005 ore 10.50

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.

© 1998-2008 - Ricky.NET - Il blog di Riccardo Golia

TagCloud
BLOG INFO
  • Post: 163
  • Commenti: 102
  • TrackBacks: 61
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom OPML

MVP
CATEGORIE
I PIÙ LETTI DEL MESE
IN EVIDENZA