Domanda

Sono uno sviluppatore .NET provare la mia mano a Java. Il mio progetto attuale ha un livello di interfaccia utente, livello di logica business, e uno strato di accesso ai dati. Attualmente sto lavorando sulla DAL.

Non ho ancora la connessione a un database esterno; Avevo sperato di avere le mie classi DAL utilizzano DataTable in memoria fino a che il DB è a posto.

In .NET è molto facile fare DataTable in memoria, selezionate da loro, aggiungere a loro, e rimuovere da loro. Ma, in Java, sono stato in grado di trovare qualcosa che fa la stessa cosa.

I stava considerando di sostituire il 'DataTable' con una collezione di oggetti fortemente tipizzati; ma che richiederebbe l'aggiunta di riferimenti a Business strato interno della DAL (e ho pensato che era un no-no).

Qualcuno può aiutarmi a uscire sviluppatore confuso? Se tutto questo approccio è difettoso, cosa faresti? Se ho perso l'equivalente di un DataTable in Java -? Che cosa è

È stato utile?

Soluzione

Ecco un articolo su esecuzione di un database Derby in memoria.

Se avessi saputo quello del database e quello che la persistenza biblioteca si sta utilizzando, potrei essere in grado di dare una risposta più precisa.

Altri suggerimenti

Si potrebbe utilizzare un database memoria come descritto in questa risposta .

Un confronto tra diversi database di memoria è mostrata in questa domanda SO .

  

Stavo considerando di sostituire la   'DataTable' con una raccolta di   fortemente tipizzato oggetti; ma che avrebbe   richiedono l'aggiunta di riferimenti a Business   strato interno del DAL (e ho pensato   che era un no-no).

Chi fa queste regole?

Se il livello di accesso ai dati è responsabile per le operazioni CRUD per oggetti del modello, mi sembra che essa deve avere riferimenti ad essi. Non c'è modo per aggirare questo.

Il livello esigenza persistenza non conoscere i livelli di servizio o di vista.

La classe unica completamente disaccoppiati è uno che parla con nessuno e non offre nulla. E 'inutile.

Non essere appeso così su "regole". Stai cercando di sovrapporre la vostra applicazione. Stai mettendo tutte le cose di persistenza in uno strato di classi.

Non credo in-memory database ha alcun effetto sul modo in cui si progetta il livello di persistenza. Si dovrebbe essere in grado di scambiare in un database relazionale o file flat o qualsiasi altro meccanismo, ma l'interfaccia non dovrebbe cambiare. Questo è un dettaglio di implementazione.

O / Ms erano disponibili molto prima in Java che in .NET. DataSet sono errate, nel senso che ti costringono a programmare procedurale. Provate a interagire con gli oggetti e mappare quelli al DB in seguito.

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