Zpo-5-wyk-Slajd36: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 1: Linia 1:
==Switch Statements ==
==Proxy: konsekwencje==


[[Image:zpo-5-wyk-Slajd36.PNG|Switch Statements ]]
[[Image:zpo-5-wyk-Slajd36.PNG|Proxy: konsekwencje]]




Niepoprawne wykorzystanie instrukcji wyboru i warunkowej w dużym stopniu wpływa na skomplikowanie przepływu sterowania w programie. Rozbudowane warunki oraz gałęzie kodu wykonywane po ich spełnieniu lub odrzuceniu przypominają zasady programowania strukturalnego, a przede wszystkim utrudniają zrozumienie ich sensu.
Istnieją trzy podstawowe rodzaje wzorca Proxy:


Pierwszym krokiem w kierunku usunięcia tego problemu jest ponownie wyłączenie fragmentów do nowych metod o intuicyjnych nazwach – w wielu przypadkach jest to rozwiązanie wystarczające. W innych można podzielić instrukcje warunkowe korzystając z mechanizmów obiektowych: polimorfizmu (każda gałąź staje się osobną implementacją tego samego interfejsu) lub dziedziczenie (każda podklasa reprezentuje jedną z gałęzi). Wówczas problem sterowania warunkami sprowadza się do tworzenia obiektów odpowiednich klas, a nie wyboru pomiędzy długimi blokami kodu.
Zdalny obiekt Proxy (ang. ''remote'' ''proxy'' ) służy do reprezentacji obiektu znajdującego się w innej przestrzeni adresowej, np. na innym komputerze. Dzięki temu dla lokalnych klientów wszystkie odwołania są pozornie lokalne. Proxy przejmuje wówczas odpowiedzialność za zdalne wywołania metod poprzez sieć, serializację parametrów i odebranie wyników. Mechanizm ten jest stosowany w większości środowisk przetwarzania rozproszonego np. CORBA lub EJB.
 
Wirtualny obiekt Proxy zastępuje obiekt RealSubject o dużych wymaganiach zasobowych, np. alokujący duży obszar pamięci. Aby opóźnić (a w szczególnych przypadkach nawet zastąpić) proces tworzenia takiego obiektu, Proxy obsługuje wszystkie zadania obiektu RealSubject, które nie wymagają odwołań do tego obszaru pamięci.  
 
Ochronny obiekt Proxy zajmuje się zabezpieczeniem dostępu do obiektu RealSubject przed nieautoryzowanym dostępem. Obiekt RealSubject nigdy nie jest bezpośrednio dostępny dla klientów; w ich imieniu występuje Proxy, który określa, którym z nich można udostępnić usługi oferowane przez RealSubject, a którym nie.




[[zpo-5-wyk-Slajd35 | << Poprzedni slajd]] | [[zpo-5-wyk-toc|Spis treści ]] | [[zpo-5-wyk-Slajd37 | Następny slajd >>]]
[[zpo-5-wyk-Slajd35 | << Poprzedni slajd]] | [[zpo-5-wyk-toc|Spis treści ]] | [[zpo-5-wyk-Slajd37 | Następny slajd >>]]

Aktualna wersja na dzień 11:03, 17 paź 2006

Proxy: konsekwencje

Proxy: konsekwencje


Istnieją trzy podstawowe rodzaje wzorca Proxy:

Zdalny obiekt Proxy (ang. remote proxy ) służy do reprezentacji obiektu znajdującego się w innej przestrzeni adresowej, np. na innym komputerze. Dzięki temu dla lokalnych klientów wszystkie odwołania są pozornie lokalne. Proxy przejmuje wówczas odpowiedzialność za zdalne wywołania metod poprzez sieć, serializację parametrów i odebranie wyników. Mechanizm ten jest stosowany w większości środowisk przetwarzania rozproszonego np. CORBA lub EJB.

Wirtualny obiekt Proxy zastępuje obiekt RealSubject o dużych wymaganiach zasobowych, np. alokujący duży obszar pamięci. Aby opóźnić (a w szczególnych przypadkach nawet zastąpić) proces tworzenia takiego obiektu, Proxy obsługuje wszystkie zadania obiektu RealSubject, które nie wymagają odwołań do tego obszaru pamięci.

Ochronny obiekt Proxy zajmuje się zabezpieczeniem dostępu do obiektu RealSubject przed nieautoryzowanym dostępem. Obiekt RealSubject nigdy nie jest bezpośrednio dostępny dla klientów; w ich imieniu występuje Proxy, który określa, którym z nich można udostępnić usługi oferowane przez RealSubject, a którym nie.


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