Ti do ragione in tutto. Infatti non è la strada che io personalmente avrei mai preso ed all'inizio del thread stavo cercando di spostare l'attenzione su questo problema ma siccome hanno deciso di utilizzare il pattern dao mischiandolo malamente al pattern factory ho cercato di mettere in luce gli errori che si stava commettendo; proponendo al tempo stesso una implementazione che separasse perlomeno i due pattern.Originariamente inviato da chumkiu
Non mi è chiaro questo... perché si costruiscono per il database bellissime interfacce, un'ereditarietà delle classi ben strutturata e persino una factory... per poi creare una classe che si chiama Mysql_Articoli? E se ho supporto a 6 database e 200 oggetti nel sistema (Articoli, news, users, pages, prodotti, nazioni, regioni, citta, banner, immagini, manifestazioni, eventi, parametri, ecc.) mi devo costruire 1200 classi? E anche dopo averle costruite, se voglio aggiungere un misero database che nel frattempo hanno inventato mi devo scrivere altre 200 classi? Nella classe Articoli non devo vedere alcuna sintassi specifica (nemmeno una select perché il sistema di archiviazione dati scelto potrebbe non supportarlo), altrimenti è tutto vano.
Questo perchè seguendo la strada che hanno preso non solo avranno il problema che stai citando ma oltre a tutte le classi dai delle varie componeneti (articoli, news, etc) dovranno modificare anche tutte le classi di gestione del database.
Però purtroppo sembra che ci si sia fissati col dover portare avanti quest'accozzaglia di factory/dao complicando la vita a chi aveva chiesto consiglio.