Come trasferirei dati tra strutture dati e database?

2

Sto imparando la programmazione a scuola e ho questa domanda che mi infastidisce sulle strutture dati e sul trasferimento delle informazioni memorizzate al loro interno nei database. Stiamo facendo solo piccoli sistemi: registrazione per un evento, punto vendita per un ristorante locale, vendite e inventario, ecc.

Diciamo che qualcuno si registra, dovrebbe essere passato in una struttura dati e poi nel database, o dovrebbe essere trasferito direttamente al database?

    
posta Daryll Santos 18.04.2012 - 17:50
fonte

2 risposte

2

Essenzialmente, ciò che è necessario sviluppare per trasferire i dati tra le strutture di dati in memoria e gli archivi di dati persistenti (file, DB, qualsiasi cosa) è un Data Access Layer o un DAL. Questo è uno dei tuoi "livelli applicazione" in un'applicazione N-tier propriamente costruita. Gli oggetti di questo livello sanno come creare strutture dati dai dati DB e viceversa per convertire una struttura dati opportunamente popolata in dati DB, in modo che gli oggetti generalmente fuori dal livello non debbano avere questa conoscenza.

Esistono diversi modelli per la costruzione di un livello DAL. Il più comune nella mia esperienza è una "porta d'ingresso" centralizzata che può accettare qualsiasi richiesta di leggere o scrivere dati e produrre qualsiasi struttura dati necessaria. Questo modello è chiamato "Repository". Dovresti effettuare una chiamata a questo oggetto lungo le linee di:

int myObjectId = 1243;
MyObject myObjectInstance = myRepository.RetrieveById<MyObject>(myObjectId);

... e quindi myObjectInstance verrà popolato con i dati della tabella che rappresentano i record MyObject, con la chiave identificativa che abbiamo specificato. Come ciò accade esattamente, nessuno al di fuori del Repository deve davvero saperlo; è possibile costruire dinamicamente un'istruzione SQL, utilizzare un oggetto di accesso ai dati che sappia in modo specifico come recuperare le istanze MyObject, oppure eseguire come stati Oded e utilizzare una libreria di terze parti denominata Object-Relational Mapper o ORM che astrae tutti i dettagli di come avviene il recupero.

    
risposta data 18.04.2012 - 18:05
fonte
1

L'obiettivo è quello di memorizzare i dati nel database. Se la struttura dei dati non è necessaria per il tuo caso d'uso, non usarla.

Nella maggior parte delle app su cui ho lavorato, la struttura dei dati sarebbe stata utilizzata solo perché sto lavorando con codice che prevede (o ha bisogno) una struttura dati da passare tra diversi metodi di business logic prima che i dati possano essere salvati nel database .

    
risposta data 18.04.2012 - 17:59
fonte

Leggi altre domande sui tag