Zpo-10-wyk-Slajd32

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Remove Middle Man

Remove Middle Man


Przekształcenie Remove Middle Man jest przeciwieństwem poprzedniej refaktoryzacji. Jego rolą jest usunięcie prostych delegacji z klasy serwera i publiczne udostępnienie delegata. Przekształcenie to ma sens, jeżeli klasa serwera jest prostym tłumaczem protokołów obiektowych i nie dodaje żadnej nowej funkcjonalności w porównaniu do klasy delegata (a jednocześnie nie zachodzą inne przesłanki, np. konieczność dostosowania typów – zob. wzorzec Adapter).

Jego mechanika polega na odwróceniu mechaniki przekształcenia Hide Delegate. Pierwszym krokiem jest utworzenie (lub upublicznienie, jeżeli istniała wcześniej) metody dostępowej do klasy-delegata. Następnie należy zmienić wszystkie klasy klienckie, tak aby wywoływały metody bezpośrednio w klasie delegata, uzyskując do niego referencję poprzez utworzoną w poprzednim kroku metodę dostępową. Po zakończeniu tej czynności metody delegujące z klasy serwera mogą zostać usunięte. Jeżeli serwer po przekształceniu nie posiada już żadnej lub szczątkową funkcjonalność, można go usunąć, stosując np. przekształcenie Inline Class.


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