Zpo-11-wyk-Slajd33: 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:
==Visitor: cel==
==Extract Interface==


[[Image:zpo-11-wyk-Slajd33.PNG|Visitor: cel]]
[[Image:zpo-11-wyk-Slajd33.PNG|Extract Interface]]




Wzorzec Visitor jest rozszerzeniem idei stojącej za wzorcem Iterator na kolekcje heterogeniczne, składające się z elementów różnych typów. Jego celem jest dostęp do każdego elementu takiej struktury i wykonanie na nim operacji w sposób dla niego specyficzny.  
Wyłączenie interfejsu jest przekształceniem czysto syntaktycznym, które nie może wprowadzić zmian w zachowaniu programu. Jednak pozwala poprawić jakość projektu przez zastąpienie powiązań bezpośrednio z klasami powiązaniami przez interfejs.  
 
Przekształcenie to stosowane jest zwykle w sytuacji, gdy grupa metod pełni kluczową rolę w klasie, a ich zmiana musi być dokonana jednocześnie. Celem przekształcenia jest zadeklarowanie tych metod w nowym interfejsie, oraz zaimplementowanie tego interfejsu w klasie. W efekcie wszystkie klasy klienckie mogą odwoływać się do tej klasy poprzez interfejs, co pozwala zmienić jej implementację.
 
Pierwszym krokiem jest utworzenie interfejsu i zadeklarowanie w nim wybranych metod (bez zmiany ich sygnatur). Następnie należy zadeklarować implementację tego interfejsu w klasie. Zmiana ta powoduje jedynie rozdzielenie typu i jego implementacji, a więc nie zmienia zachowania systemu. Ostatnim krokiem jest zmiana klientów, tak aby zależały od interfejsu, a nie bezpośrednio od klasy go implementującej.




[[zpo-11-wyk-Slajd32 | << Poprzedni slajd]] | [[zpo-11-wyk-toc|Spis treści ]] | [[zpo-11-wyk-Slajd34 | Następny slajd >>]]
[[zpo-11-wyk-Slajd32 | << Poprzedni slajd]] | [[zpo-11-wyk-toc|Spis treści ]] | [[zpo-11-wyk-Slajd34 | Następny slajd >>]]

Aktualna wersja na dzień 17:37, 4 lis 2006

Extract Interface

Extract Interface


Wyłączenie interfejsu jest przekształceniem czysto syntaktycznym, które nie może wprowadzić zmian w zachowaniu programu. Jednak pozwala poprawić jakość projektu przez zastąpienie powiązań bezpośrednio z klasami powiązaniami przez interfejs.

Przekształcenie to stosowane jest zwykle w sytuacji, gdy grupa metod pełni kluczową rolę w klasie, a ich zmiana musi być dokonana jednocześnie. Celem przekształcenia jest zadeklarowanie tych metod w nowym interfejsie, oraz zaimplementowanie tego interfejsu w klasie. W efekcie wszystkie klasy klienckie mogą odwoływać się do tej klasy poprzez interfejs, co pozwala zmienić jej implementację.

Pierwszym krokiem jest utworzenie interfejsu i zadeklarowanie w nim wybranych metod (bez zmiany ich sygnatur). Następnie należy zadeklarować implementację tego interfejsu w klasie. Zmiana ta powoduje jedynie rozdzielenie typu i jego implementacji, a więc nie zmienia zachowania systemu. Ostatnim krokiem jest zmiana klientów, tak aby zależały od interfejsu, a nie bezpośrednio od klasy go implementującej.


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