4. Conclusione
Ricapitoliamo ciò che volevamo fare. Volevamo realizzare la seguente applicazione web MVC a tre livelli:
![]() |
- Il modello era già pronto. È stato utilizzato in modo identico da tutte e tre le soluzioni proposte
- poiché l'indipendenza dei livelli era rigorosamente mantenuta, il livello [web] poteva essere implementato in tre modi diversi senza influire sul modello. Abbiamo lavorato esclusivamente all'interno del livello [web].
- Le soluzioni sono simili. Mentre nella prima soluzione avevamo un singolo servlet con un metodo per ogni azione da gestire, nelle altre due soluzioni abbiamo anch'io un singolo servlet, ma privo dei metodi di gestione delle azioni, la cui gestione è ora affidata a classi separate. Il ruolo di queste classi era identico a quello dei metodi nella prima soluzione.
- L'uso di [Spring] in questa applicazione ci permette di scegliere le classi che implementano le interfacce Java dei livelli [domain] e [dao]. Queste classi di implementazione potrebbero essere modificate all'interno di un livello senza alcun impatto sugli altri livelli. Sarebbe necessario modificare solo il file di configurazione di Spring. Pertanto, il livello [DAO], attualmente gestito dallo strumento [sqlMap], potrebbe essere gestito dallo strumento [Hibernate]. Ciò influirebbe sul livello [DAO], ma non avrebbe alcun impatto sui livelli [Web] e [Domain].
