4. Conclusion
Rappelons ce que nous voulions faire. Nous voulions construire l'application web MVC à trois couches suivante :
![]() |
- le modèle était acquis. Il a été utilisé de façon identique par les trois solutions proposées
- parce que l'indépendance des couches avait été scrupuleusement respectée, la couche [web] a pu être implémentée de trois façons différentes dans toucher au modèle. Nous n'avons travaillé que dans la seule couche [web].
- les solutions sont proches. Là où dans la première solution, on avait une servlet unique avec une méthode par action à traiter, dans les deux autres solutions, on a également une servlet unique mais débarrassée des méthodes de traitement des actions, traitement assuré désormais par des classes séparées. Le rôle de celles-ci était identique à celui des méthodes de la première solution.
- l'usage de [Spring] dans cette application nous laisse le choix des classes d'implémentation des interfaces Java des couches [domain] et [dao]. Ces classes d'implémentation pourraient être changées dans une couche, sans aucun impact sur les autres couches. Seul le fichier de configuration de Spring serait à changer. Ainsi, la couche [dao] assurée ici par l'outil [sqlMap] pourrait être assurée par l'outil [Hibernate]. Cela impacterait la couche [dao] mais aucunement les couches [web] et [domain].
