Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5 introduce Dynamic Multi Frame Generation e MFG 6X, permettendo fino a cinque frame generati per ogni frame renderizzato. I test su Cyberpunk 2077 e 007 First Light mostrano forti incrementi di FPS e riduzione della latenza su RTX 5090 Laptop. Migliorano fluidità, stabilità e qualità visiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-01-2014, 12:01   #1
InformaticoRC
Member
 
Iscritto dal: Apr 2010
Messaggi: 50
[Java] Applicare design pattern (J2EE Pattern Catalog)

ciao a tutti !!
Ho da qualche tempo a che fare con la manutenzione di un sistema software realizzato interamente in java. Sto curando la parte server e vorrei migliorare il sistema con l'applicazione di alcuni pattern a livello di presentazione, di business e di integrazione (J2ee pattern catalog http://www.corej2eepatterns.com/Patterns/) visto che è la prima volta che mi rapporto a questo tipo di cose... vorrei che mi aiutaste a capire qualcosina

il sistema già prevede un controller che centralizza la gestione delle richieste e l'elaborazione delle view...ora se io volessi utilizzare una servlet front strategy per migliorare la gestione (navigazione, elaborazione, dispatch..) come dovrei fare non essendo la mia un'applicazione web? e avrebbe senso una cosa del genere?
grazie per il prezioso aiuto
InformaticoRC è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2014, 08:35   #2
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Il pattern da utilizzare è il punto di arrivo, non quello di partenza. Tanto per cominciare che problemi ha l implementazione attuale ? Cosa vorresti ottenere ?
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2014, 11:54   #3
InformaticoRC
Member
 
Iscritto dal: Apr 2010
Messaggi: 50
grazie per la risposta innanzitutto! Mah problemi di gestione non ne ha , visto che dicevo che è implementata una classe con il main che controlla il tutto..però vedo che con il front controller e con la servlet ci sono risultati migliori in quanto a gestione delle richieste..perciò ha senso applicare un pattern del genere? in più ripeto la mia non è un'applicazione web e ovunque trovo codici che interessano il processo di richiesta/risposta tra client e server web ..
InformaticoRC è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2014, 12:29   #4
InformaticoRC
Member
 
Iscritto dal: Apr 2010
Messaggi: 50
Nessuno?
InformaticoRC è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2014, 14:18   #5
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Ma di che tipo di applicazione si tratta? E' un server, un programma interattivo, o un batch?
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2014, 22:34   #6
InformaticoRC
Member
 
Iscritto dal: Apr 2010
Messaggi: 50
Server l'utente memorizza determinati dati in un DB integrato con l'applicazione stessa in modo da garantirne la portabilità.
InformaticoRC è offline   Rispondi citando il messaggio o parte di esso
Old 29-01-2014, 07:50   #7
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Rileggendo c'è qualcosa che mi sfugge... hai detto che la tua non è un'applicazione web, ma poi fai riferimento a concetti più o meno legati a quest'ultimo (server, servlet, navigazione), quindi credo che sia necessario fare un po' di chiarezza su cosa esiste adesso e su cosa vorresti ottenere.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 29-01-2014, 17:30   #8
InformaticoRC
Member
 
Iscritto dal: Apr 2010
Messaggi: 50
si giusto.. quello che non ho precisato è che il sistema consiste di due parti..una parte server e una parte mobile, il server, gestito da un operatore che inserisce determinati dati, inoltra i dati al mobile. ora ciò che a me interessa non è questo passaggio qui..ma solo e soltanto la parte "server" ..migliorare il sistema in termini di gestione delle richieste ecc(come scritto sopra) intendendo la stesse attività e funzionalità attivate dall'operatore (inserisce -modifica-cancella dati) in quanto,come dicevo, è implementato un controller che centralizza tutte le operazioni .quindi nel momento in cui si fa partire il sistema è il controller che permette di visualizzare la home, e tutte le schermate e che contiene le funzioni di inserimento dei dati in db, modifica, cancellazione dei dati che sono memorizzati in db, che permette l'inoltro dei dati mobile.

perciò studiando il concetto di front controller e servlet ho messo in rapporto queste due situazioni..e mi chiedevo (questo è il motivo del topic) se la strategia servlet può essere messa in pratica anche in questo caso a scopo puramente migliorativo dell'attività del controller.
InformaticoRC è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2014, 08:19   #9
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Quindi se ho ben capito tu hai implementato la gestione di tutte le richieste in un'unica servlet.
A questo punto la tua richiesta è fondata, avresti sicuramente un vantaggio in termini di manutenibilità del codice applicando un pattern MVC. Ti consiglio di dare uno sguardo al framework Spring, che dovrebbe essere tra i più semplici da utilizzare.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2014, 10:04   #10
InformaticoRC
Member
 
Iscritto dal: Apr 2010
Messaggi: 50
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Quindi se ho ben capito tu hai implementato la gestione di tutte le richieste in un'unica servlet.


A questo punto la tua richiesta è fondata, avresti sicuramente un vantaggio in termini di manutenibilità del codice applicando un pattern MVC. Ti consiglio di dare uno sguardo al framework Spring, che dovrebbe essere tra i più semplici da utilizzare.
Esatto..è proprio quello che vorrei ottenere..migliore manutenibilità
InformaticoRC è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2014, 10:32   #11
InformaticoRC
Member
 
Iscritto dal: Apr 2010
Messaggi: 50
Ho dato uno sguardo al framework spring come mi hai suggerito..diciamo che come concetti teorici il discorso può essere anche chiaro..quello che trovo un pò difficoltoso è l'applicazione di questi concetti al codice del controller che già ho.. Visto anche che si parla praticamente sempre di apllicazioni web e non è il mio caso.. Diciamo che avrei paura di peggiorare il codice piuttosto che migliorarlo e farmi del male da solo...
InformaticoRC è offline   Rispondi citando il messaggio o parte di esso
Old 30-01-2014, 14:32   #12
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Ma questo controller di cui parli come si usa? Voglio dire, tramite browser?
Oppure c'è un'applicazione dedicata?
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2014, 08:51   #13
InformaticoRC
Member
 
Iscritto dal: Apr 2010
Messaggi: 50
Nono, il sistema prevede una cartella codice con tutte le classi implementate tra cui quella relativa al controller..utilizzando eclipse, si importa il tutto e si fa partire l'applicazione con punto di partenza la classe controller.
InformaticoRC è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2014, 10:31   #14
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Si ma come si interagisce con il programma?
Utilizzi una shell?

Ad ogni modo, il pattern MVC si può applicare anche senza un'interfaccia web, il criterio è il seguente.

La parte Model è costituita da tutte le classi che modellano il sistema sul quel stai lavorando.

Tipicamente esiste una classe per ogni tabella del DB che gestisce le operazioni comuni di inserimento, modifica, cancellazione e consultazione; queste classi vengono chiamate DAO (Data Access Object). I DAO vengono utilizzati anche per altri origini di dati (es. file di testo, stream, ecc.).

Vengono poi realizzate altre classi chiamate BO (Business Object) che implementano la logica di accesso ai dati. Se per esempio il tuo DB è progettato in modo che per ogni record in una tabella deve essercene uno corrispondente in un'altra, una BO può essere implementata in modo da garantire questa duplicità (cosa che potrebbe sfuggire se si lavora direttamente sui DAO). Ovviamente si possono implementare logiche più complesse.
I metodi che espongono dovrebbero essere consistenti, nel senso che dovrebbero poter essere eseguiti singolarmente senza che i dati risultino compromessi.

DAO e BO fanno entrambi parte del Model, infatti spesso si vedono classi che fanno sia da DAO che da BO, sebbene questo approccio sia da evitare.

La parte Controller si occupa invece di ricevere i comandi dall'utente e di invocare gli opportuni metodi dei BO, quindi passa i risultati ad una View che li converte in una forma presentabile per l'utente; in base all'esito dell'azione un controller può invocare diverse view. L'utente interagisce sempre con le view, anche per inviare i dati al controller.

I controller e le view non devono implementare la logica del sistema che stai rappresentando, ma devono solo fare da interfaccia di input/output tra l'utente e i BO.


Ricapitolando:
- i DAO espongono i metodi di interazione con le origini dati;
- i BO espongono le azioni che si possono eseguire sul sistema;
- i controller ricevono le richieste dell'utente e invocano le opportune azioni dei BO, quindi passano il risultato alle view;
- le view formattano i risultati e li presentano all'utente.

Puoi realizzare questi 3 layer senza appoggiarti ad alcun framework, l'importante è aver ben chiaro quali metodi deve esporre ciascun layer.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2014, 11:10   #15
InformaticoRC
Member
 
Iscritto dal: Apr 2010
Messaggi: 50
bene.. il sistema in realtà è già strutturato in questo modo..distinguo il livello di presentazione, quello di business e quello di integrazione..ci sono le classi che implementano l'interfaccia utente, le classi che implementano i servizi del sistema e le classi che si interfacciano con il DB.. perciò sto giungendo a conclusione che non dovrei far altro.. diciamo che studiando pattern, design pattern ecc che portano miglioramenti per diversi aspetti (manutenibilità, riusabilità ecc) stavo vedendo se fosse possibili poterli applicare..solo per migliorare quella che è l'implementazione attuale che comunque già rispecchia quei canoni da te elencati ... in ogni caso ,grazie mille per le risposte !!!!
InformaticoRC è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Samsung Trend Radar 2026: smartphone e s...
Enel entra nella telefonia mobile: il vi...
Arriva il menu contestuale aggiornato di...
GM punta sulle batterie al sodio per lo ...
Instagram amplia il controllo sull'algor...
Jason Wild: "Siamo bravissimi a ris...
Razer BlackShark V2 X a 34,99€: cuffie e...
d-Matrix avvia la produzione di Corsair:...
I guardrails di Claude Fable 5 fanno sca...
Phanteks Evolv Series S2 a 99€: il case ...
Quasi un milione di passaporti esposti: ...
L'Unione Europea pubblica il nuovo codic...
The Elder Scrolls 6: lo sviluppo continu...
motorola razr 70: pochi cambiamenti ma b...
Logitech G PRO X2 Superstrike: i giocato...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:22.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v