Confessions of a Dangerous Mind

Brain.FlushBuffer()
posts - 176, comments - 234, trackbacks - 93

.netTiers: Pro e Contro

Sempre in riferimento al meeting XEDotNet: NetTiers & CodeGeneration, che si terrà Venerdì 8 Maggio 2009 a Mestre presso l’Hotel Novotel, elenco alcuni dei pro e contro riscontrati durante l’utilizzo di .netTiers.

PRO:

  • genera tutti i componenti DAL (provider e entities)
  • genera tutte le relazioni tra entità (one-to-many, one-to-one, many-to-many)
  • il codice generato è molto intuitivo (ovvero per caricare un cliente sarà stato generato il metodo GetCustomerById(), assieme a tutti i metodi per effettuare caricamenti per chiavi esterne ed indici).  Tutti questi metodi permettono un accesso paginato ai dati.
  • viene generato automaticamente anche uno strato di webServices e proxy che consentono di utilizzare il Framework anche in scenari 3-Tier
  • supporta il DeepLoading/DeepSaving delle entità, ovvero specificando una entità e la lista delle entità relazionate, viene caricato sotto forma di oggetti e collections tutto il grafo degli oggetti collegati all'entità "radice". Tale entità potrà poi essere salvata unitamente a tutte le entità "figlie"
  • le classi generate permettono l'utilizzo di campi BLOB
  • i constraint del database sono incorporati nel codice, attraverso l'uso dei nullable types
  • integrazione con Enterprise Library (2, 3, 3.1, 4), che significa poter usare i meccanismi di caching, exception handling ed instrumentation di Enterprise Library
  • consente l'utilizzo di Stored Procedures Custom
  • genera automaticamente una serie di Unit Test (compatibili con nUnit o Visual Studio) che permettono di testare tutto il Framework generato
  • non utilizza librerie esterne, per cui qualunque aspetto è modificabile liberamente
  • il codice generato è scalabile, si rifà alle Best Practices promosse da Microsoft ed è completamente basato su patterns

CONTRO:

  • non supporta le tecnologie più recenti del Framework 3.5 (WCF, LINQ, EF)
  • genera molto codice, per cui si può incorrere nel temuto "code bloat", ovvero la generazione di molto codice che non verrà di fatto mai utilizzato
  • è necessario rigenerare il codice ad ogni modifica del database, anche se grazie all'uso delle partial classes le personalizzazione sulle entities e nelle altre classi non verranno sovrascritte
  • le eventuali modifiche dei templates non sono semplici

Tutti i pro ed i contro riportati verranno ampiamente discussi nel meeting di venerdì, per cui se siete interessati ad approfondire questi aspetti, cosa aspettate a registrarvi? Vi aspetto!

Print | posted on martedì 5 maggio 2009 18:50 |

Feedback

Gravatar

# re: .netTiers: Pro e Contro

Un solo piccolo appunto: uso nettiers per tutto ciò che è backend e comunico senza problemi con client Silverlight attraverso WCF. LINQ lo uso (Linq to object) quando le funzionalità nettiers non mi soddisfano (abbastanza raramente).
La vera grande differenza sta proprio nell'infrastruttura. Nettiers crea una catastrofe di codice (anche per l'uso massiccio di Enterprise Library), lo sconsiglio per piccole applicazioni o siti web medio-piccoli. Per grosse soluzioni enterprise non c'è però paragone: ad oggi non conosco una soluzione alternativa alla flessibilità di nettiers.

27/09/2009 17:20 | Maurizio Contino
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET