Избавление от метода с помощью объекта метода
Полезность страницы:
0/100
Имеется большой метод, использующий локальные переменные таким образом, что не применить Извлечение Метода.
Поместить метод в отдельный объект таким образом, чтобы локальные переменные стали полями этого объекта. Далее этот метод можно разложить на более мелкие в рамках этого объекта.
class Order …
double price() {
double primaryBasePrice;
double secondaryBasePrice;
double tertiaryBasePrice;
// long computation
…
}

Если в методе напутано столько локальных переменных, что не применить Извлечение метода, то можно попытаться использовать Замену локальной переменной вызовом метода. Если и это не получается, надо вынести метод в отдельный объект, объявить локальные переменные полями этого объекта и применить к нему Извлечение метода.