4. Conclusione
Ricordiamo cosa volevamo fare. Volevamo costruire la seguente applicazione web a tre livelli MVC:
![]() |
- il modello era già stato realizzato. È stato utilizzato in modo identico dalle tre soluzioni proposte
- Poiché l'indipendenza dei livelli era stata scrupolosamente rispettata, il livello [web] ha potuto essere implementato in tre modi diversi senza modificare il modello. Abbiamo lavorato esclusivamente nel livello [web].
- Le soluzioni sono simili. Mentre nella prima soluzione era presente un unico servlet con un metodo per ogni azione da elaborare, nelle altre due soluzioni è presente anch’esso un unico servlet, ma privo dei metodi di elaborazione delle azioni, compito ora affidato a classi separate. Il ruolo di queste ultime era identico a quello dei metodi della prima soluzione.
- L’utilizzo di [Spring] in questa applicazione ci lascia la libertà di scegliere le classi di implementazione delle interfacce Java dei livelli [domain] e [dao]. Queste classi di implementazione potrebbero essere modificate in un livello, senza alcun impatto sugli altri livelli. Basterebbe modificare solo il file di configurazione di Spring. Pertanto, il livello [dao], qui gestito dallo strumento [sqlMap], potrebbe essere gestito dallo strumento [Hibernate]. Ciò avrebbe un impatto sul livello [dao], ma non sui livelli [web] e [domain].
