Domanda

Ho alcuni oggetti nel mio dominio che non sono aggregati root / entità, ma ho ancora bisogno di recuperarli da un database. Non voglio confondere le cose creando repository per queste cose. Quindi, quali sono i modelli di accesso ai dati alternativi? Creeresti semplicemente un DAO per loro, pur continuando ovviamente a separare l'interfaccia?

Modifica:

Qualche dettaglio in più su quello che sto facendo. Devo creare un codice. Questo codice ha alcune regole per quanto riguarda il suo formato. Una delle regole è che il carattere finale deve essere un numero univoco incrementato di uno dall'ultimo codice generato. Ad esempio:

ABCD1 ABCD2 ABCD3

Quindi, sto mantenendo una tabella con una riga, una colonna per memorizzare il numero in questione. Ora, non voglio considerare questo numero come un'entità e creare un repository per questo - è eccessivo. Ho solo bisogno di un modo per recuperare il numero, aggiungerne 1 e salvarlo. So che ci sono una miriade di modi in cui potrei farlo, ma mi chiedo se esiste un modo consueto.

È stato utile?

Soluzione 3

Dopo aver esaminato le opzioni, vado con il modello Table Gateway.

Altri suggerimenti

Esistono diversi modelli di accesso ai dati che potrebbero essere applicati, in teoria. Dovresti fornire maggiori dettagli se vuoi che suggeriamo un modello specifico.

Senza ulteriori dettagli, tutto ciò che posso suggerire è di prendere in considerazione il libro Patterns of Enterprise Application Architecture di Martin Fowler .

Modifica: modo consueto? No, non che io possa pensare: dipende davvero da dove e come stai usando questo codice univoco nel tuo dominio. Se lo facessi, probabilmente creerei un piccolo servizio che parla direttamente al database per eseguire questa funzione, non pesante come un repository, e molto concentrato sul problema in questione.

In base alla modifica: vorrei prima esaminare il contesto in cui è necessario creare quel codice. Forse ci sono alcune entità correlate o qualcosa che ti manca.

a proposito, trovo la domanda davvero interessante in quanto si presenta di volta in volta durante la codifica di funzionalità specifiche. Di solito finisco per scoprire che mi mancava qualcosa nello scenario e finisce per adattarsi bene al normale modello di repository.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top