Zpo-9-wyk-Slajd52
Form Template Method
Ostatnie przekształcenie z tej grupy dotyczy zaimplementowania w kodzie wzorca Template Method. Stosuje się je wówczas, gdy metody w klasach dziedziczących po wspólnej nadklasie wykonują podobną sekwencję kroków. Celem tej refaktoryzacji jest ujednolicenie wykonywanych kroków w postaci metod i umieszczenie ich wywołania w szablonie metody.
Przekształcenie rozpoczyna się od modyfikacji metod w podklasach. Za pomocą przekształceń na poziomie metody (Extract Method, Inline Temp etc.) należy doprowadzić do sytuacji, w której odpowiadające sobie metody w podklasach (o tych samych sygnaturach) będą albo identyczne bądź całkowicie różne. Metody różne należy pozostawić w podklasach i utworzyć dla nich metodę abstrakcyjną w nadklasie, którą będą pokrywać. Metody identyczne mogą zostać w całości przeniesione do nadklasy. W nadklasie można wówczas skonstruować szablon metody, składający się z wywołań metod identycznych lub abstrakcyjnych metod, które w podklasach zostały zaimplementowane w różny sposób.