Questa è una discussione io stesso e alcuni dei miei colleghi stanno avendo e pensato che sarei venuto qui e vedere cosa succede se c'è un consenso generale su di esso.
Fondamentalmente si riduce alle seguenti 2 opinioni sulle chiamate al database: 1. Effettuare una grande chiamata per ottenere tutto ciò che potrebbe essere necessario per ridurre il numero di chiamate nel database del database 2. Effettuare chiamate separate più piccole in base a ciò che viene richiesto per ridurre le dimensioni di Chiamate DB
Dove questo è particolarmente in gioco è in codice comune. Useremo l'esempio di una classe Employee in quanto abbastanza semplice.
Supponiamo che la tua classe Employee abbia 10 attributi di valore (nome, cognome, hiredate, ecc.) E quindi 2 attributi di classe ... 1 che punta a una classe Department e quindi 1 supervisore che punta a un altro oggetto Employee.
Nella mentalità n. 1, effettueresti una chiamata che restituisce i dati del Dipendente nonché i campi necessari per popolare gli attributi Dipartimento e Supervisore ... o almeno i campi che più spesso vengono utilizzati da questi oggetti secondari.
Nella mentalità n. 2, inizialmente si popolerebbe solo l'oggetto Employee e poi si popolerebbero solo gli oggetti Department e Supervisor se e quando effettivamente richiesti.
La posizione di 2 è piuttosto semplice ... minimizza la dimensione delle richieste e quanti oggetti del database devono essere colpiti ogni volta che viene fatta una di quelle richieste. La posizione n. 1 è che anche se potesse essere implementato correttamente, il solo fatto che il codice debba effettuare connessioni multiple provocherà una maggiore tensione sulla connessione tra il server web e il database invece di ridurlo.
La forza trainante dietro la ricerca di questo è che la quantità di traffico tra il nostro server web e il server database sta andando fuori controllo.