Il DataSet nel web è il male

Daniele Bochicchio

di , in ASP.NET,

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
Il DataSet nel web è il male
| Condividi su: Twitter, Facebook, LinkedIn, Google+

Per inserire un commento, devi avere un account.

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

Nella stessa categoria
I più letti del mese
TAG CLOUD
.NET Framework, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5, .NET Framework 4.0, .NET Framework 4.5, .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 4.5, ASP.NET AJAX, ASP.NET Charting, ASP.NET MVC, ASPItalia.com, Build12, Build13, Build14, C# 4 Guida completa, Cache, Community Days 2010, Community Days 2012, Community Days 2013, Community Days 2014, CSS, Custom Control, Database, Databinding, Datagrid, Deployment, Dynamic Data Control, Entity Framework, Expression Blend, HTML 5 Espresso, HTML5, HttpHandler, HttpModule, HttpRuntime, IIS, ISAPI, JavaScript, jQuery, LINQ, LINQ to Entities, LINQ to SQL, LogParser, Master Pages, Media Center, Membership API, Microsoft Expression, MIX11, Model Virtual Casting, Mono, MySQL, Object Oriented Programming, Off Topic, Office, ORM, Parallel FX, Pattern, PDC 2008, Profile API, Provider Model, Real Code Day 6, Report, Roles API, Security, SEO, Silverlight, Silverlight 2.0, Silverlight 3.0, Silverlight 3.0 Guida Completa, Silverlight 4.0, SQL Server, Universal App, User Control, Visual Basic 2010 Guida completa, Visual Studio, Visual Studio 2012, WCF Data Services, WCF RIA Services, Web Service, web.config, Windows, Windows 7, Windows 8, Windows 8.1, Windows Azure, Windows Client, Windows Communication Foundation, Windows Identity Foundation, Windows Live Services, Windows Phone, Windows Phone - il libro, Windows Phone 7, Windows Phone 7.1, Windows Phone 7.1.1, Windows Phone 7.5, Windows Phone 8, Windows Phone 8.1, Windows Presentation Foundation, Windows Server, Windows Store, Windows Vista, WinJS, WinRT, XAML, XBox, XHTML, XML, XNA, XSLT
BLOG INFO
  • 1.096 post, 470 commenti, 196 trackback
  • Feed blog: RSS Atom
In evidenza