Originariamente inviato da Mco2983
Qual'è la regola di base, un DataSetProvider per query/table o un DataSetProvider per ClientDataSet?
I componenti DataSetProvider forniscono i dati in un formato standard al ClientDataSet, e nel contempo hanno delle opzioni per poter personalizzare il meccanismo di reperimento dei dati e del loro aggiornamento; siccome questo comportamento potrebbe essere diverso in base al caso, a mio avviso sarebbe meglio metterne uno per ogni CDS, per sicurezza.

In pratica, il DataModule diventa quasi uno strato esclusivamente di accesso al DB e di interrogazione dei dati effettiva, mentre tutto il resto (cache gestite con i CDS, opzioni di aggiornamento specifiche, "consumatori" dei dati acquisiti) va inserito nel posto specifico in base all'operazione che deve essere eseguita o alla funzionalità da implementare.