ciao.
Devo realizzare un importazione dati da access in c++ per un programma di calcolo strutturale(ma potrebbe essere qualsiasi tipo di prog.).
La struttura dell'importatore è gia' stata realizzata e sfrutta il pattern iterator e l'abstract factory.
Ho una classe astratta di un importatore generico con svariate funzioni virtuali che vanno implementate nell'importatore specializzato.
Ora non mi resta che implementare il mio importatore specializzato .
La domanda ora è questa:
per ragioni che dipendono dalla struttura del programma(ad oggetti v.sopra) devo implementare varie funzioni(in override su quelle virtuali dell'importatore generico).
Le funzioni hanno dei parametri grazie a cui si puo' andare a "pescare" dal db in varie tabelle(relative alla funzione)con una select mettendo nella clausola where i parametri.
Ora:
ho pensato che il modo migliore di implementare questa struttura ad oggetti è creare un domain model(tipo Nhibernate) e delle classi che descrivono la struttura dei miei oggetti sul progetto.
Gli oggetti sono tra loro relazionati : ad es ho i beam(linee),le shell(aree),i joint(punti)ecc...
1)per ognuno di essi pensavo di creare una classe con delle proprietà.
2)Per identificare gli oggetti avro' un id che è lo stesso del db.
3)Per le relazioni tra gli oggetti pensavo di usare delle collezioni
ad es:
class cArea...
{
CString idArea
collezione Beams
}
class cBeam...
{
CString idBeam
collezione Joints
}
class cJoints...
{
CString idJoint
int x;
int y;
int j;
}
e cosi' via .
Naturalmente è una struttura molto semplificata ,le domande sono queste:
1)non potendo usare nhibernate pensavo di caricare tutto il domain model convertendo dalla struttura tabulare(relazionale)a quella ad oggetti all' inizio dell'importazione.
2)che tipo di collezione usare per le relazioni?Le classi delle collezioni derivano tutte da CObject ?
3)l'oggetto nella collezione puo' essere accessibile come CString oppure è meglio che sia accessibile come int?.