Non sono sicuro di come dare un nome classi memorizzare i dati durante la progettazione di livello di accesso ai dati di un programma di (DAL).oggetto persistenza terminologia: 'repository' vs 'store' vs 'contesto' vs 'retriever' contro (...)
(By memorizzare i dati di classe, voglio dire una classe che è responsabile di leggere un oggetto persistente in memoria, o a persistere un oggetto in memoria.)
Sembra ragionevole per citarne una classe di archivio dati secondo due cose:
- quali tipi di oggetti gestisce;
- se è carica e/o persiste tali oggetti.
⇒ Una classe che carica gli oggetti Banana
può essere chiamata ad es. BananaSource
.
non so come fare per il secondo punto (es. Il Source
po 'nell'esempio). Ho visto diversi nomi apparentemente utilizzati solo per tale scopo:
- repository: questo suona molto generale. Questo denota qualcosa di accessibile in lettura/scrittura?
- negozio: questo suona come qualcosa che potenzialmente permette l'accesso in scrittura.
- contesto: suona molto astratto. Ho visto questo con LINQ e mappatori di oggetti relazionali (ORM).
P.S. (alcuni mesi più tardi): questo è probabilmente appropriato per i contenitori che contengono oggetti "attivi" o altrimenti supervisionati (viene in mente il modello dell'Unità di lavoro). - retriever: suona come qualcosa di sola lettura.
- source & sink: probabilmente non appropriato per la persistenza dell'oggetto; una migliore corrispondenza con i flussi di dati?
- lettore/scrittore: abbastanza chiaro nelle sue intenzioni, ma suona troppo tecnico per me.
Questi nomi sono arbitrari o ci sono significati ampiamente accettati/differenze semantiche dietro a ciascuno? Più in particolare, mi chiedo:
- Quali nomi sarebbero appropriati per archivi di dati di sola lettura?
- Quali nomi sarebbero appropriati per archivi di dati di sola scrittura?
- Quali nomi sono appropriati per archivi di dati di sola lettura che vengono occasionalmente aggiornati?
- Quali nomi sono appropriati per gli archivi dati di sola scrittura che vengono letti occasionalmente?
- Un nome si adatta ugualmente bene a tutti gli scenari?
Buona domanda, ho preso in considerazione questo durante il mio progetto attuale. Ho trovato l'uso di 'Store' per lettura/scrittura e' Servizio' per sola lettura (ad esempio 'UserService.GetUserById (1)'). L'unica cosa che non mi piace è che per ricordare il nome di qualcosa devo sapere/ricordare il suo comportamento. In questo modo non è proprio vero che sto usando 2 nomi diversi. Interessato a sapere se esiste una convenzione standard (ish). – fearofawhackplanet