di: Sosan Abou Assalè 14 Marzo 2007
Il modello basato sui provider è un aspetto molto importante di ASP.NET e rappresenta, da un punto di vista architetturale, una delle novità più interessanti della versione 2.0 del .Net Framework.
Il modello di provider permette agli sviluppatori sfruttare i provider nativi di ASP.NET oppure di sostituirli o migliorarli.
In questo articolo introduciamo il Modello di Provider spiegandone la motivazione di base, la struttura nel dettaglio e, sperimentando in modo diretto, la creazione di un provider di mappe di siti Web personalizzato che ci consente di estrapolare i dati relativi alle mappe dei siti da un database Ms Sql Server anziché da un file XML.
L'utilizzo dei Provider nasce dalla necessità di disporre di un pattern semplice ed efficace per rendere alcune parti di una applicazione personalizzabili.
ASP .NET 2.0 prevede diversi servizi basati su provider, come ad esempio Membership, Ruoli, Gestione dello stato, Personalizzazione, Mappa e navigazione del sito ed altro; questi servizi utilizzano un API comune per svolgere le diverse operazioni. Questa API, facente parte del sistema di ASP.NET, viene esposta come componente collegabile (dll), in questo modo rimane incapsulata e gli sviluppatori possono utilizzarla senza preoccuparsi di come è strutturata internamente.
Se i provider inclusi nel sistema non sono sufficienti a soddisfare le proprie esigenze, ad esempio se si desidera archiviare i dati relativi allo stato delle sessioni in un database diverso da Ms SQL Server, è possibile implementare provider personalizzati in grado di comunicare con il tipo di database scelto. Il modello è facilmente estendibile, ciascun sviluppatore può implementare nuovi Provider personalizzati o acquistarli da terze parti.
Nel modello di Provider, l'API di livello superiore rimane la stessa mentre l'implementazione è affidata a specifiche classi "Provider"
Figura 1. Modello di provider
Dietro al modello di provider c'è il popolare design pattern comportamentale "pattern strategy" appartenente alla famiglia GoF (Gang of Four).
Il design pattern Strategy consiste nella possibilità di rendere intercambiabili tra loro le diverse strategie di implementazione di un algoritmo applicativo. Ogni applicazione, seleziona l'algoritmo più adatto in relazione al particolare contesto senza nessun impatto sull'interfaccia della funzionalità messa a disposizione dalla API di programmazione. Il tutto avviene in maniera del tutto trasparente agli sviluppatori.
Il pattern Strategy prevede, per ogni oggetto, un modo astratto di esporre le proprie funzionalità in modo tale che, un client, può scollegare l'implementazione di default e collegarne una propria.
Gli sviluppatori possono implementare nuovi Provider personalizzati, ridefinire il comportamento dei Provider già inclusi nel sistema, i client possono collegarsi e personalizzare comportamento e impostazioni.
Tutto questo non significa che l'applicazione diventa un progetto "open-source", ma che è possibile personalizzare alcune parti dell'ambiente di runtime ASP.NET attraverso le classi denominate appunto provider, dalle quali è possibile derivarne una propria.
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200820 Febbraio 2012 a Milano |
|
Nessun corso previsto |