37 messaggi dal 18 settembre 2003
Salve,
in un mio progetto ho diverse classi, le cui proprietà ho intenzione di istanziare e popolare (secondo il pattern Lazy Load) solo nel momento in cui venga richiesto per la prima volta.

Faccio un esempio:

La classe "Anagrafica" ha tra le sue proprietà un oggetto "Stato". Nel get della proprietà richiamo un metodo della mia BLL, che a sua volta ne richiama uno della DAL, che mi restituisce l'oggetto "Stato" che mi serve.
Ma qual è il modo più corretto per ottenere dalla base dati l'oggetto stato che voglio? La mia base dati è composta da una tabella Anagrafica, nella quale ho la chiave esterna IdStato, e una tabella Stato. Ho identificato 3 modi diversi per ottenere ciò che voglio, ma nessuno di questi mi convince...

1 - Conservo in un membro dell'istanza di Anagrafica il codice dello Stato; questo mi servirà quando, nel get della proprietà stato, richiamerò il metodo getStatoByCodice della BLL.

2 - Creo un metodo getStatoByAnagrafica nella classe business di Anagrafica (o di Stato???) che mi restituisca direttamente l'istanza di Stato che voglio, data l'anagrafica. Questo metodo non mi convince perchè non isola completamente le classi business e data delle 2 entità, in quanto dovrebbe essere la classe datamapper di anagrafica a creare l'oggetto Stato, o viceversa.

3 - Creo un metodo che mi recupera il codice dello stato dall'Anagrafica. Il codice che ottengo lo utilizzo poi per recuperare l'oggetto Stato tramite il metodo getStatoByCodice della classe business di Stato. Ho qualche dubbio su questo modo di affrontare il problema, in quanto dovrei eseguire due interrogazioni alla base dati per ottenere l'oggetto.

Quali di questi modi dovrei utilizzare? Ci sono alternative?

Vi ringrazio.

Giuseppe
Ciao,

forse con una vista risolvi la cosa in due secondi.

Fabrizio Canevali

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.