Skip to content

4. Conclusie

Laten we nog eens samenvatten wat we wilden doen. We wilden de volgende webapplicatie MVC met drie lagen bouwen:

  • Het model was al beschikbaar. Het werd op identieke wijze gebruikt door de drie voorgestelde oplossingen
  • Omdat de onafhankelijkheid van de lagen nauwgezet in acht was genomen, kon de laag [web] op drie verschillende manieren worden geïmplementeerd zonder het model aan te raken. We hebben uitsluitend in de laag [web] gewerkt.
  • De oplossingen lijken sterk op elkaar. Waar we in de eerste oplossing één servlet hadden met één methode per te verwerken actie, hebben we in de twee andere oplossingen eveneens één servlet, maar dan zonder de methoden voor de verwerking van de acties; deze verwerking wordt nu verzorgd door afzonderlijke klassen. De rol van deze klassen was identiek aan die van de methoden in de eerste oplossing.
  • Het gebruik van [Spring] in deze applicatie laat ons de keuze vrij wat betreft de implementatieklassen van de Java-interfaces van de lagen [domain] en [dao]. Deze implementatieklassen zouden in één laag kunnen worden gewijzigd, zonder enige invloed op de andere lagen. Alleen het Spring-configuratiebestand zou moeten worden aangepast. Zo zou de laag [dao], die hier wordt verzorgd door de tool [sqlMap], ook kunnen worden verzorgd door de tool [Hibernate]. Dit zou gevolgen hebben voor de laag [dao], maar geen enkele invloed hebben op de lagen [web] en [domain].