Confessions of a Dangerous Mind

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

martedì 5 maggio 2009

.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!

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (1) |

Powered by:
Powered By Subtext Powered By ASP.NET