Zpo-11-wyk-Slajd33: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== | ==Extract Interface== | ||
[[Image:zpo-11-wyk-Slajd33.PNG| | [[Image:zpo-11-wyk-Slajd33.PNG|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. | |||
[[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
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.