4. Conclusão
Vamos recapitular o que pretendíamos fazer. Queríamos construir a seguinte aplicação web MVC de três camadas:
![]() |
- O modelo já estava implementado. Foi utilizado de forma idêntica pelas três soluções propostas
- , uma vez que a independência das camadas foi rigorosamente mantida, a camada [web] podia ser implementada de três formas diferentes sem afetar o modelo. Trabalhámos exclusivamente 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 também temos um único servlet, mas desprovido dos métodos de tratamento de ações, sendo o tratamento agora assegurado por classes separadas. O papel destas classes era idêntico ao dos métodos na primeira solução.
- A utilização do [Spring] nesta aplicação permite-nos escolher as classes que implementam as interfaces Java das camadas [domain] e [dao]. Estas classes de implementação podem ser alteradas dentro de uma camada sem qualquer impacto nas outras camadas. Apenas o ficheiro de configuração do Spring precisaria de ser alterado. Assim, a camada [DAO], atualmente gerida pela ferramenta [sqlMap], poderia passar a ser gerida pela ferramenta [Hibernate]. Isto afetaria a camada [DAO], mas não teria qualquer impacto nas camadas [Web] e [Domain].
