ZAWWW-2st1.2-w11.tresc-1.0-Slajd11

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Context Object

Context Object


Wzorzec Context Object pozwala na hermetyzację stanu aplikacji bez względu na typ protokołu wykorzystywanego przez klienta lub inny wzorzec. Context Object nadaje się przede wszystkim do transportowania między warstwami aplikacji parametrów żądania od klienta oraz informacji systemowych. Zarówno parametry żądania, jak i informacje systemowe, są pobierane za pomocą pewnego protokołu i w określonym kontekście. Przekazywanie tych informacji do innych warstw niepotrzebnie wiąże te warstwy z używanym protokołem. Przykładowo, żądanie klienta jest zgodne z protokołem HTTP. Przekazanie do warstwy biznesowej danych w strukturze specyficznej dla HTTP niszczy modułowość i uzależnia warstwę biznesową od jednego protokołu. Zamiast tego, należy wykorzystać wzorzec Context Object, który służy jako mechanizm transportu danych między warstwami w sposób niezależny od protokołu. Implementacją wzorca Context Object jest najczęściej zwykła klasa Javy (POJO) lub mapa parametrów (lub własności) java.util.Map. Architektury szkieletowe dostarczają gotowych implementacji tego wzorca, przykładowo, w architekturze Apache Struts rolę Context Object pełnią klasy ActionForm i DynaActionForm. Zaletami użycia wzorca Context Object są zwiększenie modularności i niezależności między warstwami aplikacji oraz ułatwia automatyczne testowanie aplikacji za pomocą narzędzi testujących, np. JUnit. Wadą wzorca Context Objext jest niewielkie zmniejszenie wydajności związane z koniecznością przenoszenia stanu aplikacji do wzorca.


<< Poprzedni slajd | Spis treści | Następny slajd >>