Dopo aver "snobbato" (forse ingiustamente) gli Application Blocks, da qualche giorno mi sto interessando alla Enterprise Library. Questo pacchetto raggruppa tutti gli application blocks in un unico framework, con tanto di codice sorgente, documentazione e un comodo tool di configurazione. Troviamo infatti:
Data Access Application Block:
Basato su ADO.NET, contiene funzioni che facilitano l'accesso alle origini dati. E' tutto è implementato tramite Factory Pattern, rendendo il tutto indipendente dalla base dati che si vuole utilizzare.
Caching Application Block:
Permette di implementare la funzionalità di cache in qualsiasi applicazione, astraendo lo "storage" che si vuole utilizzare per la memorizzazione (Isolated Storage, database, memoria...).
Configuration Application Block:
Utilizzato in modo massiccio da tutti gli altri blocks e, forse, il mio preferito. Consente la memorizzazione delle impostazioni fornendo astrazione dallo storage che si vuole utilizzare (file xml, database, ecc...).
Logging and Instrumentation Application Block:
Fornisce funzionalità di logging, permettendo di "scrivere cosa succede" si file di testo, database, Event log di Windows, ecc...
Exception Handling Application Block:
Permette di gestire le eccezioni in maniera consistente in tutta l'applicazione.
Cryptography Application Block:
Questo block aiuta ad incorporare funzionalità di crittografia nelle proprie applicazioni.
Security Application Block:
Aiuta ad aggiungere funzionalità di security, come autenticazione, autorizzazioni e gestione dei ruoli utente.
Il tutto è pensato per evitare la scrittura di codice ripetitivo nelle applicazioni, permettendo un approccio consistente a tutte quelle funzionalità che generalmente sono richieste nella maggior parte delle applicazioni.
Anche il codice sorgente è mooolto interessante da studiare, mostrando applicazioni di Design Patterns e Unit Testing.
Si scarica tutto da qui.