PDA

Visualizza versione completa : Entity Class


comm64
02-06-2008, 19.10.17
Salve vorrei chiedere se ci fosse qualcuno in grado di farmi capire una volta individuate le mie classi entity nel mio progetto come dovrei usarle

cioè mi spiego: dalla teoria trovata in giro ho letto:
Descrivono gli oggetti che rappresentano la entità del dominio applicativo(infatti rispecchiano molto il mio db)

Ho strutturato la mia applicazione tramite le classi entity boundary e control...

Allora mi trovo davanti ad un dilemma: La teoria mi dice che da boundary accedo a control, da control a entity ed infine Entity accede al DBManager
Mettiamo caso abbia una classe Entity che mi modella una persona: nome cognome, id .. e io voglia effettuare una query per estrarre tutti i dati delle persone contenute nel DB ...-----> come faccio a passare prima dalla classe entity? Non farei prima ad accedere direttamente al DBManager tramite la classe control in quanto dovrei creare altrimenti tante classe entity quanti sono le persone trovate.? e come si fa?bho

Grazie a tutti quelli che mi faranno capire

shadowDK
05-06-2008, 16.49.15
Visto che non ti ha risposto nessuno lo faccio io, anche se magari altri potrebbero darti risposte più precise...
diciamo che in teoria MVC (model-view-control) funziona come hai scritto tu:
La teoria mi dice che da boundary accedo a control, da control a entity ed infine Entity accede al DBManager
Questa divisione in livelli viene fatta per mantenere l'applicazione il più pulita possibile. Esistono infatti oggetti definiti Business Object che rappresentano gli oggetti del db (teoria vuole un oggetto per ogni tabella) e che costituiscono la parte Entiry.
Nello strato Control, invece, vengono usati altri oggetti di cui ora non ricordo il nome più o meno che rappresentano delle viste sui Business Object (viste nel senso che ogni oggetto control può contenere uno, due, x, una parte di, ecc campi dei BO) e ti servono per separare la logica applicativa dalla logica di gestione dei dati (letture dal db, scritture ecc)...
Questa divisione a 3 livelli porta sicuramente a duplicare qualche dato (capita che i BO e gli oggetti control siano uguali), ma permette di capire molto velocemente dove si verificano i problemi e, essendo una specie di standard, permette anche a chi deve mantenere l'applicazione senza averla scritta una gestione semplice.
Nella realtà, questa divisione in 3 livelli non sempre viene fatta, dipende dalle richieste del cliente in fatto di tempistiche (dividendo si impiega probabilmente più tempo che non scrivendo tutto in un blocco unico, sia perchè il codice da scrivere è di più sia perchè richiede maggiore tempo di analisi), sia dalla complessità intrinseca dell'applicazione stessa (se è molto semplice può non servire) sia da altri fattori...

La spiegazione è probabilmente più complessa di così, ma credo che questo sia un punto da cui iniziare per approfondire se ti interessa l'argomento!