Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [ASP.net 2.0] Prestazioni moduli e classi

    Ciao a tutti,
    Ultimamente ho lavorato col framework 4 e i data layer, e mi sono accorto di quanto sia comodo utilizzare le classi specializzate per l'accesso ai dati e l'automazione.
    Tuttavia, rispetto al metodo di sviluppo a 2 layer, l'implementazione delle classi porta via parecchio tempo, in termini di progettazione ma anche di scrittura del codice.
    Certo, alla fine è tutto più ordinato, pulito e puntuale, e non c'è nemmeno bisogno di ricordarsi i nomi dei campi durante le operazioni di lettura e scrittura (grazie alla potenza delle generic list).

    Quindi mi sono ritrovato a pensare di convertire le funzionalità critiche delle applicazioni scritte in passato, usando appunto le classi (al posto dei vecchi moduli con dentro una marea di metodi) e le relative stored procedure per accedere ai dati.

    Ma dopo tutto il lavoro che mi aspetta, cosa ci guadagno?
    Al di là dell'aspetto Code Reuse, che pare abbastanza evidente, c'è un guadagno in termini di prestazioni?

    Parliamo, per ora, di metodi globali vs metodi shared contenuti in classi.

    b.

  2. #2

  3. #3
    Una specie.
    Abbiamo sviluppato le classi parallelamente al Database, quindi ce le siamo scritte a mano.
    Comunque si, il concetto è usare le classi dell'entity framework al posto di metodi spare.

    Tralasciamo, nella valutazione, la portabilità dei dati. Qui da noi esiste solo MSSQL.

    ciao,
    b.

  4. #4
    dando il mio modesto parere, non credo che ci siano grosse differenze in termini di prestazioni, inoltre è anche difficile capirlo senza conoscere il codice.

    Il guadagno ci può essere, dato dal fatto che solitamente utilizzando un DAL (che sia custom, con EF, Linq2SQL o qualsiasi altra cosa), il codice è scritto sicuramente meglio, di conseguenza l'accesso ai dati è ottimizzato, meno cose superflue, e sicuramente le query sono migliorate.

    Un altro aspetto pratico, che va nei "contro" però (parlo in base alla mia esperienza), e il fatto di avere select che tendono a "select *" piuttosto che select mirate.
    Utilizzando classi che identificano le Entity, sei quasi obbligato ogni volta a fare select *, mentre precedentemente le select riguardavano solo i dati di volta in volta richiesti.

    Ma visto che costruendo un DAL hai sicuramente un codice testabile, ti consiglio di fare un piccolo progettino di test, che richiama i vari metodi facendo qualche calcolo sulle prestazioni.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.