4. Sonuç
Ne yapmak istediğimizi hatırlayalım. Aşağıdaki gibi üç katmanlı MVC web uygulamasını oluşturmak istiyorduk:
![]() |
- Model hazırdı. Önerilen üç çözümde de aynı şekilde kullanıldı.
- Katmanların bağımsızlığı titizlikle gözetildiği için, [web] katmanı, modele dokunmadan üç farklı şekilde uygulanabildi. Biz sadece [web] katmanında çalıştık.
- Çözümler birbirine yakındır. İlk çözümde, işlenecek her eylem için bir yöntem içeren tek bir servlet varken, diğer iki çözümde de yine tek bir servlet vardır, ancak bu servlet eylem işleme yöntemlerinden arındırılmıştır; işleme artık ayrı sınıflar tarafından gerçekleştirilmektedir. Bu sınıfların rolü, ilk çözümdeki yöntemlerin rolüyle aynıydı.
- Bu uygulamada [Spring]'in kullanılması, [domain] ve [dao] katmanlarının Java arayüzlerini uygulayan sınıfları seçme özgürlüğü sağlar. Bu uygulama sınıfları, diğer katmanlar üzerinde hiçbir etki yaratmadan bir katmanda değiştirilebilir. Yalnızca Spring yapılandırma dosyası değiştirilmesi gerekir. Böylece, burada [sqlMap] aracı tarafından sağlanan [dao] katmanı, [Hibernate] aracı tarafından sağlanabilir. Bu değişiklik, [dao] katmanını etkileyecektir, ancak [web] ve [domain] katmanlarını hiçbir şekilde etkilemeyecektir.
