ZAWWW-2st1.2-w10.tresc-1.0-Slajd23
Wydzielenie kodu dostępu do danych
Rozwiązanie, w którym klasa sterująca, poza swoją normalną funkcjonalnością, jest także odpowiedzialna za nawiązywanie połączenia i komunikację z bazą danych, może stwarzać wiele problemów. Wprowadza niepotrzebne zależności między warstwami aplikacji, uzależnia klasy sterujące od zmian w warstwie zasobów, zmniejsza modułowość aplikacji i wymaga duplikacji kodu dostępu do danych we wszystkich klasach sterujących. Dobrym rozwiązaniem jest wydzielenie kodu odpowiedzialnego za dostęp do danych i umieszczenie tego kodu w wydzielonej klasie. W ten sposób hermetyzuje się kod dostępu do danych (najczęściej JDBC) i uniezależnia warstwę prezentacji lub biznesową od szczegółów implementacyjnych połączeń z bazą danych. Wydzielenie kodu dostępu do danych znajduje zastosowanie zarówno w warstwie prezentacji (np. wyłączenie kodu JDBC z serwletu pełniącego rolę kontrolera), jak i w warstwie biznesowej (np. przeniesienie kodu odpowiedzialnego za logikę trwałości danych z komponentu encyjnego do osobnej klasy). Rozwiązanie to powoduje wzrost elastyczności i modułowości aplikacji oraz umożliwia łatwą pielęgnację kodu w odpowiedzi na zmiany zachodzące w warstwie zasobów.