Buongiorno a tutti,
Essendo questa una domanda un po' generica e non sapendo in quale categoria inserirla (programmazione/Java penso sia dedicata a domande un po' più tecniche), la pubblico qui nella speranza che qualcuno mi risponda
vorrei realizzare una Web application in Java con un amico/collega universitario.
Questa applicazione dovrà svolgere prima di tutto una funzionalità di ricerca per specifici prodotti.
Questi prodotti potranno avere varie features (differenziate per tipo), potranno essere disponibili in vari materiali, avranno delle caratteristiche intrinseche come dimensioni e peso (ho pensato a degli attributi della classe prodotto).
Utilizziamo bitbucket per sincronizzare le nostre modifiche.
Per avere uno sviluppo più chiaro e modulare ho deciso di sfruttare il pattern MVC, ed io sto sviluppando il model. Vorrei realizzare anche il controller, però non so come interagire con la view che dovrebbe realizzare il mio collega. Immagino che alcune classi del controller (ad esempio il login) reindirizzeranno a diverse pagine a seconda della tipologia di utente, quando invece ci saranno delle richieste AJAX riceveranno delle stringhe Json che trasformerò in oggetti attraverso la libreria GSON e dopo aver elaborato il risultato farò il processo inverso. Ad esempio nella pagina di ricerca verranno selezionate le features ed inviate al server (controller) in formato Json tramite una post, da tale stringa creo gli oggetti feature che verranno inviati (tramite array) al model che si occuperà delle query verso il db e dell’elaborazione del risultato.
Come quadro generale penso di esserci.
Tornando al model, ho realizzato vari bean (utente, marchio, commento, prodotto, features, featuresType , materiale, multimedia, multimediaType, rivenditore) e le classi per operare sulle tabelle del database riferite a tali bean (utente_tbl, marchio_tbl, ecc.) e sulle tabelle ponte (prodotto_materiale, prodotto_feature, ecc.).
Ovviamente la ricerca dei prodotti verrà effettuata utilizzando le features e/o i materiali e/o le caratteristiche come dimensione e peso…
Il problema è che non so quale modalità scegliere per elaborare il risultato di cui sopra.
Avevo pensato a dei metodi nelle classi ponte che prendessero come argomento un array (di features piuttosto che di materiali eccetera) e restituissero una lista di prodotti (che non ammette duplicati), così però ho paura che si creino troppe connessioni al database e penso che si appesantisca parecchio il tutto.
Potrei estrarre tutti i prodotti del db, creare gli oggetti java da aggiungere in una Map e poi confrontarli in qualche modo, però credo che dovrei realizzare delle nuove classi che rispecchiano le tabelle ponte.
Non ho alcuna esperienza in merito, ringrazio chiunque abbia letto questo papiro… sono aperto a qualunque commento/consiglio