Newsgroup: it.comp.java
Titolo: Paradigma MVC

Sto scrivendo una web application e pensavo di appoggiarmi al
paradigma di programmazione MVC (Model=javabeans,View=JSP,
Control=servlet), volevo sapere dove si colloca all'interno del Model
View Control  la gestione del
database(SELECT,UPDATE,DELETE,INSERT...), vengono gestite dai vari
Beans oppure se ne occupa la servlet?

 ha scritto nel messaggio 
news:1183643742.7...@w5g2000hsg.googlegroups.com...

La servlet, che ovviamente demanda il compito ad altri oggetti. I metodi di 
questi oggetti, diciamo di accesso al db, tipicamente accettano e 
restituiscono bean del model.
La decisione di inserire, aggiornare ecc, in base ai parametri della request 
la compie il controller, ovvero la servlet nel tuo caso. La servlet si 
occupa anche di spingere il model, ovvero i bean restituiti da una metodo 
che compile la select ad esemio, dentro un contesto visibile alla JSP 
(tramite request, session, ...).
Tuttavia per un applicazione reale sconsiglio di implementare il controller 
da te, finiresti in breve tempo a cercare di creare un tuo framework 
personale, molto probabilmente bacato e poco flessibile.
Quindi la cosa migliore e' appggiarsi ad un buon framework web. Ce ne sono a 
bizzeffe.
Ogni programmatore responsabile, secondo me, dovrebbe fare cosi'. 

Ale ha scritto:

della gestione dei dati se ne occupa ovviamente il model, magari 
delegando ai dao in modo da renderlo isolato (in un ottica di rendere il 
programma indipendente dal db a cui accede e dal modo a cui ci accede).
detto questo: forse è il caso di vedere qualche framework che l'mvc lo 
implementa già, inventarsi l'acqua calda non è il caso (specialmente se 
poi ci sono tutti i presupposti perchè ti venga tiepidina...).


Ho dimenticato la premessa che si tratta di un progetto per un corso
in università.
Comunque che framework potrei usare???


ho scaricato struts...può andar bene?


Direi di si :-))
Cmq non serve per forza un framework per seguire un' ottica MVC,
quanto piuttosto il buon senso!
certo impararti struct ti servirà molto sia perchè è molto usato, sia
perchè nel mondo del lavoro i framework sono all' ordine del giorno,
quindi è piu che buono impararne uno!

 indipendente dal db a cui accede e dal modo a cui ci accede).
Non direi, anche se immagino che tu ti sia solo confuso con i termini e 
sappia nella pratica come va fatto.
Il modello modella il dominio dell'applicazione, ma non dovrebbe eseguire 
alcuna logica di accesso al db. Questa logica viene sostanzialmente fatta da 
oggetti manger come i DAO che hai citato, ma sono piu' vicini alla 
componente di contorller che alla componente model del MVC.

 ha scritto nel messaggio 
news:1183708506.1...@w3g2000hsg.googlegroups.com...


Sai che e' una bella domanda?
Struts e' piuttosto anacronistico ormai e considerato da molti una 
schifezza.
Pero' nel tuo contensto mi viene difficile consigliarti cose come JSF o 
Tapestry, o Wicket (troppo complessi per iniziare).
Spring ha un ottimo framework web a detta di molti. Non lo conosco ma 
immagino, per vari motivi, che sia piu' semplice di quelli sopra citati 
(Struts a parte).
Quindi rilancio la domanda...quale secondo voi il miglir framework per 
iniziare? 

 iniziare? 
che c'entra "per iniziare"? :-)
un framework si sceglie per iniziare e per finire, di solito un progetto.
struts una volta acquisito è semplice da utilizzare e ha la sua 
efficacia, come tutti daltronde. l'essere anacronistico non è una 
valutazione molto tecnica.

 ha scritto nel messaggio 
news:f6mbrc$2c9$2...@tdi.cu.mi.it...

Anacronistico significa che ormai non risponde piu' bene alle esigenze 
attuali e non risolve molte problematiche sentite dai programmatori di oggi 
quali configurazioni gigantesche, supporto per AJAX, macchinosita' (form 
bean, file di validazione, action mille cose per invocare un semplice 
metodo), riusabilita' (c'e', ma a quale livello?), templating (tiles non 
sono certo al livello di altre tecnologie), componenti con stato interno 
(completamente assenti in Struts).
Persino lo stesso creatore di Struts non lo consiglia piu' al giorno d'oggi, 
pensa te.
Per iniziare a programmare applicazioni web, non nel corso del progetto 
stesso..ovvio che se cominci con Struts poi finisci con Struts.
Dubito che un principiante possa iniziare come JSF ed avere successo, questo 
e' il punto. 

 ha scritto nel messaggionews:f6mbrc$2c9$2...@tdi.cu.mi.it...

qulacuno sa dove è possibile reperire una buona guida per Struts?
(magari in italiano :-)...)

Ciao,
entro nella discussione un po in ritardo ma spero di darti il mio
contributo.
La valutazione di "quale framework fa al caso tuo" è già una attività,
che se fatta bene, può darti un background rivendibile nella vita
professionale, visti i ritmi di evoluzione di queste tecnologie. Oltre
a questo avrai una buona base per gli ulteriori sviluppo che mi sembra
di aver capito tu voglia preventivare da subito.
Per quello che mi sembra di aver capito, correggimi se sbaglio, la tua
applicazione deve fare data-entry, se così è ti suggerisco di valutare
Hibernate e comunque Tapestry.
Il primo perché è nato con l'obiettivo di supportare applicazioni data
driven.
Per Tapestry ti posso dire che la realizzazione delle interfaccie è
totalmente html e la logica la scrivi in classi java standard, il
bynding fra logica (classe java) e interfaccia (html) la tiene un
file .page e la realizzano dei semplici tag nel codice html.
Di tutti i framework trovi semplici esempi di applicazione che possono
rappresentare la tua base di partenza.
Ale ha scritto:
