4. Conclusão
Recorde-se o que pretendíamos fazer. Pretendíamos construir a aplicação web MVC com as seguintes três camadas:
![]() |
- O modelo já estava definido. Foi utilizado de forma idêntica pelas três soluções propostas
- Como a independência das camadas foi escrupulosamente respeitada, a camada [web] pôde ser implementada de três formas diferentes sem alterar o modelo. Trabalhámos apenas na camada [web].
- As soluções são semelhantes. Enquanto na primeira solução tínhamos um único servlet com um método por ação a tratar, nas outras duas soluções temos também um único servlet, mas sem os métodos de tratamento das ações, cujo tratamento é agora assegurado por classes separadas. O papel destas era idêntico ao dos métodos da primeira solução.
- A utilização de [Spring] nesta aplicação permite-nos escolher as classes de implementação das interfaces Java das camadas [domain] e [dao]. Estas classes de implementação poderiam ser alteradas numa camada, sem qualquer impacto nas outras camadas. Apenas o ficheiro de configuração do Spring teria de ser alterado. Assim, a camada [dao], aqui assegurada pela ferramenta [sqlMap], poderia ser assegurada pela ferramenta [Hibernate]. Isso afetaria a camada [dao], mas não afetaria de forma alguma as camadas [web] e [domain].
