Zpo-10-wyk-Slajd29: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== | ==Hide Delegate== | ||
[[Image:zpo-10-wyk-Slajd29.PNG| | [[Image:zpo-10-wyk-Slajd29.PNG|Hide Delegate]] | ||
Celem tego przekształcenia jest poprawa hermetyzacji systemu poprzez ukrycie faktu delegowania żądań przez serwer. W układzie składającym się z trzech klas: klienta, serwera i delegata oznacza to, że klient kontaktuje się jedynie z serwerem, pozostając nieświadomym istnienia delegata, któremu serwer zleca obsługę żądania. Dzięki temu nie występuje powiązanie pomiędzy klientem a delegatem. Pozwala to na elastyczną zmianę delegata w trakcie wykonywania programu. | |||
Przekształcenie polega na utworzeniu w klasie serwera prostych delegacji przekierowujących obsługę żądania klienta do delegata. Ponieważ przekształcenie to wiąże się z tworzeniem nowych metod, należy koniecznie upewnić się, że ich powstanie nie zaburza polimorficznego pokrywania w hierarchii dziedziczenia. W takim wypadku przekształcenie to nie może być skutecznie i poprawnie zastosowane. | |||
Następnym krokiem jest modyfikacja klas klienckich, tak aby wywoływały żądania jedynie w klasie serwera, a nie bezpośrednio na delegacie. Po zakończeniu tego kroku można ukryć fakt istnienia klienta poprzez uczynienie prywatną referencji do niego w klasie serwera. | |||
[[zpo-10-wyk-Slajd28 | << Poprzedni slajd]] | [[zpo-10-wyk-toc|Spis treści ]] | [[zpo-10-wyk-Slajd30 | Następny slajd >>]] | [[zpo-10-wyk-Slajd28 | << Poprzedni slajd]] | [[zpo-10-wyk-toc|Spis treści ]] | [[zpo-10-wyk-Slajd30 | Następny slajd >>]] |
Aktualna wersja na dzień 17:52, 4 lis 2006
Hide Delegate
Celem tego przekształcenia jest poprawa hermetyzacji systemu poprzez ukrycie faktu delegowania żądań przez serwer. W układzie składającym się z trzech klas: klienta, serwera i delegata oznacza to, że klient kontaktuje się jedynie z serwerem, pozostając nieświadomym istnienia delegata, któremu serwer zleca obsługę żądania. Dzięki temu nie występuje powiązanie pomiędzy klientem a delegatem. Pozwala to na elastyczną zmianę delegata w trakcie wykonywania programu.
Przekształcenie polega na utworzeniu w klasie serwera prostych delegacji przekierowujących obsługę żądania klienta do delegata. Ponieważ przekształcenie to wiąże się z tworzeniem nowych metod, należy koniecznie upewnić się, że ich powstanie nie zaburza polimorficznego pokrywania w hierarchii dziedziczenia. W takim wypadku przekształcenie to nie może być skutecznie i poprawnie zastosowane.
Następnym krokiem jest modyfikacja klas klienckich, tak aby wywoływały żądania jedynie w klasie serwera, a nie bezpośrednio na delegacie. Po zakończeniu tego kroku można ukryć fakt istnienia klienta poprzez uczynienie prywatną referencji do niego w klasie serwera.