Quali sono le pratiche standard per l'accesso al database in .net?

5

Ho visto pratiche di accesso al database strani in .net. Ho visto stored procedure per ogni attività del database. Ho visto che ogni nome di proprietà del database è preceduto dal suo nome di tabella. Ho visto layer / .dll completamente separati per pochissime o nessuna logica di business. Ho visto insieme agli ORM, ci sono livelli di accesso ai dati separati che svolgono lo stesso ruolo. E con loro, ho sempre sentito ... "Questi sono gli standard che devi mantenere".

Quindi, quali sono i veri standard per l'accesso ai dati in .net? Quali sono le regole che segui?

    
posta Gulshan 21.02.2011 - 17:08
fonte

5 risposte

3

Gli standard sono ciò che viene definito dal tuo team per il tuo progetto. Variano in base alla situazione.

"Ho visto stored procedure per tutte le attività del database" : Tutte le stored procedure non sono un cattivo modo per le app di piccole dimensioni (per evitare l'iniezione di SQL) o per i database che contengono dati che potrebbero essere aggiornati da più fonti (database di accesso, app Web, ecc.)

"Ho visto che ogni nome di proprietà del database è preceduto dal nome della tabella" Lo vedo molto nei database più vecchi, quindi mi chiedo se potrebbe essere stato uno standard un po 'di tempo fa. Penso che sia eccessivo però.

"Ho visto layer / .dll completamente separati per pochissime o nessuna logica di business" : Probabilmente qualcuno sta cercando di implementare un buon modello di progettazione per una piccola applicazione che non ne ha realmente avuto bisogno.

"Ho visto insieme agli ORM, esistono livelli di accesso ai dati separati che svolgono lo stesso ruolo" : Forse l'applicazione è iniziata con uno stile di accesso ai dati e, man mano che ne è cresciuto, un altro è stato implementato e nessuno è stato refactored.

    
risposta data 21.02.2011 - 17:17
fonte
2

Sfortunatamente non esiste veramente standard .

Tuttavia , per un'applicazione con complessità reale (ad esempio la modellazione del dominio) gli ORM sono l'approccio raccomandato da:

risposta data 21.02.2011 - 17:16
fonte
1

Non ci sono standard. Usa ciò che funziona per te, la tua squadra e il tuo progetto, quindi FACCIAMO A QUELLO STANDARD.

    
risposta data 21.02.2011 - 19:21
fonte
0

Non esiste uno standard, ma non lo vedo come una cosa negativa. In agricoltura, monocoltura è la pratica di piantare un solo tipo di coltura ovunque - un tipo specifico di mais, soia, cotone , ecc. Il pensiero è stato ci deve essere una migliore risposta alla domanda, "Qual è il miglior tipo di X?" (Nota a margine: l'idea del "migliore" è stata spinta da grandi società di Ag come le grandi società di software e i blogger spingono l'idea con la tecnologia.)

Risulta che questa idea è sbagliata. Le monoculture sono catastroficamente vulnerabili alle malattie. Normalmente, se il raccolto di un contadino si ammala, quell'agricoltore perde il suo raccolto. Con una monocoltura, una malattia si diffonderà in tutte le fattorie con perdite incredibili. La diversità impedisce questo.

La diversità è potente.

    
risposta data 21.02.2011 - 18:20
fonte
0

Una domanda migliore potrebbe essere: "Cosa devo fare quando vedo gli standard di codifica che sembrano assurdi?"

So, what are the real standards for data access in .net?

Non ci sono standard "reali". Ogni organizzazione deve venire con la propria. Se gli standard della tua organizzazione non hanno senso, prova a scoprire perché sono lì. Se scopri perché e ancora pensi che non abbiano senso, sfidali . È probabile che ti indirizzino al comitato che stabilisce gli standard, o ti chiedono di scrivere da soli se non ci sono standard "scritti per il tuo gruppo".

Naturalmente, questo presuppone che tu ti sia avvicinato a questo in modo ponderato, rispettoso e maturo. Se non lo hai fatto, aspettati di essere spento o ignorato.

    
risposta data 22.02.2011 - 22:47
fonte

Leggi altre domande sui tag