|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2008
Città: Lissone, Monza Brianza
Messaggi: 3946
|
Design Pattern DAO e oggetti di business
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.
__________________
Corsair 4000D AIRFLOW WHITE - Corsair HX1000 - ASUS TUF GAMING B850-PLUS WIFI - AMD Ryzen 7 7800X3D - ARCTIC MX-6 - Thermalright Frozen Infinity 360 WHITE - ORICO Raceline Neon DDR5 32GB 6000MHz CL30 - fanxiang S880 1TB NVMe 1.4 Gen4x4 - WD Blue WD10EZEX 1TB - Jungle Leopard Splicing ARGB V2RS - Sapphire PURE AMD RX 9070 XT GAMING OC 16GB - MHDUYEG Supporto VGA 74-120mm - Razer BlackWidow Elite - Logitech MX Master 3 Wireless - ASUS TUF VG34VQL3A |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Dec 2001
Città: Cernobbio -Co-
Messaggi: 47
|
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?
__________________
micheledellatorre.net |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2008
Città: Lissone, Monza Brianza
Messaggi: 3946
|
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
__________________
Corsair 4000D AIRFLOW WHITE - Corsair HX1000 - ASUS TUF GAMING B850-PLUS WIFI - AMD Ryzen 7 7800X3D - ARCTIC MX-6 - Thermalright Frozen Infinity 360 WHITE - ORICO Raceline Neon DDR5 32GB 6000MHz CL30 - fanxiang S880 1TB NVMe 1.4 Gen4x4 - WD Blue WD10EZEX 1TB - Jungle Leopard Splicing ARGB V2RS - Sapphire PURE AMD RX 9070 XT GAMING OC 16GB - MHDUYEG Supporto VGA 74-120mm - Razer BlackWidow Elite - Logitech MX Master 3 Wireless - ASUS TUF VG34VQL3A |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:40.