Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Abbiamo provato le nuove CPU Intel Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: più core e ottimizzazioni al funzionamento interno migliorano le prestazioni, anche in virtù di prezzi annunciati interessanti. A questo si aggiungono nuove ottimizzazioni software. Purtroppo, a fronte di prestazioni di calcolo elevate, il quadro rimane incerto nel gaming, dove l'andamento rimane altalenante. Infine, rimane il problema della piattaforma a fine vita.
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-01-2014, 13: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, 09: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, 12: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, 13: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, 15: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, 23: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, 08: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, 18: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, 09: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, 11: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, 11: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, 15: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, 09: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, 11: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, 12: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


Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Implementazione NVMe nativa disattivata ...
Polestar 2 e 3: le batterie integrano or...
Crisi delle memorie: ecco le soluzioni p...
Il satellite ESA Proba-3 è tornat...
'Chiudete (quasi) tutto', il risultato d...
Tesla, maggiore autonomia grazie a una r...
Nasce TrendAI, la divisione di Trend Mic...
Recensione Motorola Signature: il primo ...
TeraFab, Elon Musk parte all'assalto di ...
L'ambiziosa base lunare permanente sulla...
Litografia BEUV (Beyond-EUV): la startup...
SAP e l'IA agentica: dall'hype alla matu...
'Abbiamo raggiunto l'AGI': Jensen Huang ...
Claude ora usa il mouse e la tastiera al...
Analisi Opensignal 2026: TIM si prende l...
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: 20:37.


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