Il DataSet nel web è il male

E' il titolo di una delle slide del nostro corso su ASP.NET 2.0, che sto migrando pian piano alla 3.5 per l'anno nuovo. Ogni tanto quando arrivo a questa slide, vedo facce sconvolte, perchè in alcuni casi cade davvero il mondo addosso a chi è stato convinto dalla casa madre a buttarsi su questa strada.

Spiegare i benefici di un approccio diverso, cioè banalmente un Object Model minimo, è un attimo: facile da creare, facile da manutenere, veloce, performante, type-safe.

Generalmente i DataSet, invece, non sono nessuna di queste cose. Sono strutture pesanti, che nella maggior parte dei casi nelle applicazioni web hanno più informazioni di quelle che servono. Neanche i Typed DataSet sfuggono a questo concetto. Saranno anche più comodi da creare, forse, ma nell'ottica di LINQ e del .NET Framework 3.5, hanno più che mai perso senso.

Spesso il lavoro di ottimizzazione che faccio da clienti è proprio di questo tipo: estirpare i DataSet e mettere tanti Command, Reader e oggetti tipizzati. Se l'applicazione è sotto stress, fa molta ma molta differenza.

Date un'occhiata a questo articolo di Riccardo. E' unico nel suo genere e, tra l'altro, anche oggetto di "ispirazione". Ma d'altra parte le cose di design piacciono sempre ;)

E' più generico, non parla solo di "contenitori di dati" per applicazioni web, ma è senza dubbio molto interessante.

Visto che ultimamente ho dovuto rispondere a 2-3 post del genere, nel futuro questo post mi servirà, ne sono certo ;)

Nella stessa categoria

Commenti

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

© 1998-2008 - ASP.NET, Media Center e tecnologia - Il blog di Daniele Bochicchio

TagCloud
.NET Framework, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5, 10annidi, ADO.NET, AJAX, Architettura, ASP, ASP.NET, ASP.NET 2.0, ASP.NET 2.0 per tutti, ASP.NET 3.5, ASP.NET 3.5 per tutti, ASP.NET AJAX, ASP.NET MVC, ASPItalia.com, Cache, CSS, Custom Control, Database, Databinding, Datagrid, Deployment, HttpHandler, HttpModule, HttpRuntime, IIS, ISAPI, Javascript, LINQ, LINQ to SQL, LogParser, Master Pages, Media Center, Membership API, Microsoft Expression, Mono, MySQL, Object Oriented Programming, Off Topic, Office, Pattern, Profile API, Provider Model, Report, Roles API, Security, Silverlight, Silverlight 2.0, SQL Server, User Control, Visual Studio, Web Service, Windows CardSpace, Windows Client, Windows Communication Foundation, Windows Live Services, Windows Mobile, Windows Presentation Foundation, Windows Server, Windows Vista, WinFS, XAML, XBox 360, XHTML, XML, XSLT
BLOG INFO
  • Post: 846
  • Commenti: 365
  • TrackBacks: 185
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom OPML

MVP
CATEGORIE
I PIÙ LETTI DEL MESE
IN EVIDENZA