PDA

View Full Version : Design Pattern DAO e oggetti di business


DjMix1988
24-06-2013, 10:01
Salve, ho un dubbio riguardante i design pattern.

io ho un programma da reingegnerizzare secondo i principi dell'ingegneria del software per renderlo manutenibile.

questo programma offre delle interfacce grafiche per l'inserimento e la visualizzazione di dati, riguardanti studenti, corsi di laurea e insegnanti.

quando inserisco per esempio un insegnante, chiamo il front controller, dandogli in input la richiesta "creanuovoinsegnante" e un java Object contenente tutti i dati riguardanti l'insegnante che sono stati inseriti dall'utente.

il controller chiama quindi una classe DAOInsegnanti, che si occupa di (scrittura,lettura,update,cancellazione) della tabella insegnanti del database.

il problema è: in tutto questo percorso, chi si dovrebbe occupare secondo le regole di buona programmazione di creare l'oggetto insegnante??
Perchè il front controller dovrebbe solo instradare le richieste verso i servizi di business.
Il DAO dovrebbe occuparsi da quel che ho capito di inserire l'oggetto insegnante nel database.

----Quindi chi crea l'oggetto insegnante?----

ho visto vari pattern creazionali, ma mi sembrano tutti realizzati per gestire casi in cui gli oggetti possono essere tutti generalizzati.

ad esempio il factory o il prototype riportano esempi in cui c'è un interfaccia (Formageometrica) e più oggetti di tipo quadrato,cerchio,rettangolo.(molto utile se un programma di questo tipo deve poi espandersi con nuovi oggetti di tipo formageometrica).

ma io ho, insegnanti e corsi di Laurea ad esempio.
Non so proprio a chi delegare la loro creazione,prima di passarli al DAO per la scrittura su DB.

U-Boat
24-06-2013, 17:40
Se non ho capito male, stai chiedendo chi dovrebbe convertire i parametri grezzi che ricevi dalla form in un oggetto business da dare in pasto al layer di persistenza.

Prima di pensare al pattern, chiediti:

1) cosa devi fare? E' una banale conversione? Cosa devi fare in caso di dati sbagliati?

2) usando un pattern "standard" avrei davvero un software più manutenibile, leggibile e testabile rispetto all'uso di una semplice e normalissima classe?

DjMix1988
24-06-2013, 18:17
Si hai ragione essendo una banale conversione. Ho creato una classe che dati i dati in input ritorna semplicemente l oggetto.
Al massimo creeró una classe persona specializzata da docente e studente.
In caso un giorno si debba inserire altro personale come bidelli etc...
L'ho deciso poco få lo sto implementando ora.

Sent from my GT-N7100 using Tapatalk 4 Beta