Zpo-6-wyk-Slajd7
Add Parameter
Przekształcenie Add Parameter dotyczy sytuacji, w której metoda potrzebuje od klienta więcej informacji, niż otrzymuje w tej chwili. Zatem konieczne jest przekazanie jej nowego parametru.
Mechanika tej refaktoryzacji przebiega w taki sposób, aby maksymalnie wydłużyć okres, w którym istnieją jednocześnie dwie wersje metody, dotychczasowa i nowa, z dodanym parametrem. Jest to charakterystyczny sposób postępowania występujący w wielu przekształceniach, pozwala bowiem zapewnić drogę odwrotu w przypadku niepowodzenia.
Pierwszym krokiem (poza sprawdzeniem czy metoda jest polimorficzna, co uniemożliwiłoby prawidłowe zakończenie przekształcenia) jest stworzenie nowej metody z dodanym parametrem, do której skopiować należy ciało starej metody (warto zauważyć, że nowy parametr pozostaje w niej niewykorzystany). Następnie należny zmienić starą metodę w ten sposób, aby delegowała przychodzące wywołania do nowej wersji, przekazując dowolną wartość w miejsce nowego parametru. W kolejnym kroku należy zmodyfikować klientów metody, tak aby odwoływali się do nowej wersji metody. Ostatnim etapem może być usunięcie starej metody, o ile nie jest ona potrzebna z innych względów (np. uczestnictwa w interfejsie).