Il DataSet nel web è il male

Daniele Bochicchio

di Daniele Bochicchio, in ASP.NET, mercoledì 19 dicembre 2007 ore 18.59

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 ;)

Commenti

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.



Segnala su: Facebook MSDN Social Twitter Segnalo Wikio Diggita Technorati Stumbleupon Google Yahoo FriendFeed Delicious Furl

Nella stessa categoria
I più letti del mese
IL CONTENUTO
TagCloud
.NET Framework, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5, .NET Framework 4.0, .NET Micro Framework, 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 4.0, ASP.NET 4.0 Guida completa, ASP.NET AJAX, ASP.NET Charting, ASP.NET MVC, ASPItalia.com, C# 4 Guida completa, Cache, CSS, Custom Control, Database, Databinding, Datagrid, Deployment, Dynamic Data Control, Entity Framework, Expression Blend, HttpHandler, HttpModule, HttpRuntime, IIS, ISAPI, Javascript, jQuery, LINQ, LINQ to Entities, LINQ to SQL, LogParser, Master Pages, Media Center, Membership API, Microsoft Expression, Mono, MySQL, Object Oriented Programming, Off Topic, Office, ORM, Pattern, PDC 2008, Profile API, Provider Model, Report, Roles API, Security, Silverlight, Silverlight 2.0, Silverlight 3.0, Silverlight 3.0 Guida Completa, Silverlight 4.0, SQL Server, User Control, Visual Basic 2010 Guida completa, Visual Studio, WCF Data Services, Web Service, web.config, Windows 7, Windows Azure, Windows Client, Windows Communication Foundation, Windows Identity Foundation, Windows Live Services, Windows Phone, Windows Presentation Foundation, Windows Server, Windows Vista, WinFS, XAML, XBox 360, XHTML, XML, XSLT
BLOG INFO
  • 932 post, 401 commenti, 192 trackback
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom
IN EVIDENZA